ANO I
Num J
2í>0 Pt.lS
MSX-DOS,
un sistema
Sinfonía
de sonidos
Desnudamos
el i
hardware M
MSX ir
numéricas
para todos
Ordenador Personal
TOSHIBA HX-10
Su Ordenado Servidor
69500 ptas
SYSTEM
Características principales:
Sistema standard MSX. Memoria de 64 K
RAM , 32 K ROM y 16 Kde pantalla. 16 co-
lores. 73 teclas. 32 sprites. Sistema mul-
ticolor 64 x 48 bloques. Sonido: 8 octa-
vas tres acordes. Conexiones para: casette,
Phpre&ora, 2 mandos y futuras expansiones.
TO SHIBA
española de microordenadores s.a.
Cabalero. 79 Tal 321 02 12 Tatex 97067 EMOS 08014 BARCELONA
) universalmente que permite disponer de una gran variedad de programas y accesorios compatibles entre sí.
AÑO I - Núm. 2
Junio 1985
La acogida del primer número de MSX
Magazine ha sido ejemplar. Ello prueba la
necesidad de cubrir un hueco dejado en el
mercado español dedicado a este singular
estándar. No cabe la menor duda de que
ha nacido una nueva época para el orde-
nador personal y nosotros con ellos.
En este número que tiene en sus manos
hablaremos de temas interesantes corno,
interioridades del ordenador, generación
de sonidos, etcétera. Además, en las pági-
nas interiores invitamos a los lectores a
que envíen sus programas, con posibilidad
de publicarlos en la revista, manteniéndo-
nos firmes en el propósito de hacer que
MSX Magazine sea el fruto directo de la
estrecha colaboración entre lector y redac-
ción.
NOTICIAS. Nueva red local de Spectravideo.
Software europeo. Toshiba y su guerra de
precios...
INTERIORIDADES DEL MSX. Indagamos
interiormente en las características del
estándar MSX.
SISTEMAS DE NUMERACION. Desde la
antigüedad hasta el más moderno sistema
numérico informático.
NUMEROS ROMANOS. Aplicación
programable de un cambio de sistemas.
MSX-DOS, SISTEMA OPERATIVO DE
VERDAD. Gran sistema operativo para un
ordenador pequeño.
PROGRAMA: DADOS
PROGRAMA: COCHE LOCO
CODIGO MAQUINA. ESE DESCONOCIDO.
Rápido y potente, agiliza la programación y
aprovecha los recursos de la máquina.
SOFTWARE COMENTADO. Heavy Boxing,
El Gerente, Cannon Fighter y Mr. Ching. La
actualidad del mercado sometido a crítica.
SONIDO MSX, ALGO MAS QUE UN CHIP.
Observamos detenidamente las posibilidades
del chip "musical" del MSX.
COMPRO, VENDO, CAMBIO. Nueva
sección abierta a todos aquellos que deseen
anunciarse gratuitamente.
PROGRAMA: PAPEL, PIEDRA O TIJERA
RINCON DEL LECTOR
Celebrada a finales de abril, esta fe-
ria fue coto predilecto de varias ca-
sas comerciales, que aprovecharon
la oportunidad para demostrar que
los ordenadores personales pueden
realizar una aportación docente para
introducir sus productos como me-
dios de enseñanza. Sony, Spectra-
video y Canon estuvieron abiertos a
los muchachos que fueron a ver
cómo los ordenadores sirven para
algo más que matar marcianitos,
aunque fuera éste el motivo que atra-
|0 a más de uno. La mayor parte de
la gente joven se fue del recinto ferial
con buen sabor de boca y muchos
con nuevas perspectivas en la cabe-
za.
SOFTWARE
EUROPEO
TOSHIBA:
GUERRA
DE PRECIOS
El mes pasado, Toshiba lanzaba al
mercado el ordenador MSX HX-10 al
precio de 69.500 pesetas. Este mes,
sin embargo, las noticias son inmejo-
rables, sobre todo para el que de-
seaba poseer un MSX y argüía que
los precios eran demasiado altos.
La constante evolución del mercado
de los ordenadores personales está
haciendo su efecto. Ya se han inicia-
do, por parte de varias casas comer-
ciales, campañas de publicidad en
televisión y en diversos medios de
comunicación, pero ninguno a juga-
do la baza de bajar los precios. Sin
lugar a dudas, este será el mejor ar-
gumento de ventas de estos ordena-
dores, que han visto reducido su pre-
cio en casi 10.000 pesetas.
Sí, efectivamente, el nuevo precio
que entrará en vigor este mes es de
59.900 pesetas y, además, con la
adquisición de estos ordenadores se
incluye un cassette para aprender el
BASIC MSX. Por si esto fuera poco,
para este mes también se anuncia la
llegada de los ansiados discos de
esta marca. Toda una serie de inno-
vaciones que calentará, más aún, la
llegada del verano 85.
4 MSX
Una firma holandesa Aackosoft,
están desarrollando software espe-
cialmente dedicado para aplicacio-
nes y enseñanza, comercializándo-
los en países como el Reino Unido,
Francia y Alemania. Pionera en su
país de los "campamentos informáti-
cos", en labor conjunta con Sony
está obteniendo un auge importante
de la industria del ordenador perso-
nal en aquel país, gracias a enseñar
a la juventud las posibilidades de es-
tos aparatos. Poco falta, pues, para
que esta importante firma inicie la co-
mercialización de sus programas,
que incluye desde un tratamiento de
textos hasta un generados de spri-
tes, en nuestro país.
TRAVIDEO:
RED LOCAL PARA USOS DOCENTES
Sin lugar a dudas, la más importante
innovación en MSX la constituye la
presentación, por parte de Indes-
comp, de la red local de Spectravi-
deo.
La rueda de prensa que fue presidi-
da por el propio presidente de Indes-
comp, señor José Luis Domínguez,
se realizó en los salones del hotel
Meliá Castilla de Madrid. Con sus pa-
labras hizo constar la preocupación
de la entidad por sus grandes vías
comerciales de actuación, la poten-
ciación del nuevo ordenador Ams-
trad y el desarrollo de su red local de
comunicaciones MSX.
Con la posibilidad de poder conectar
un total de 32 MSX, el único requisito
indispensable es que éstos posean
al menos 64K de memoria RAM. Las
posibilidades de esta red aumentan
considerablemente al ir todos los or-
denadores conectados a una esta-
ción maestra con las siguientes ca-
racterísticas: partiendo del SV-328 y
un expansor de red local, con un dis-
co Winchester de 1 0 Megabytes f or-
mateados, disco floppy de 320K for-
mateados, interface Centronics para
impresora, interface serie RS-232C,
ampliación de 64K RAM y tarjeta de
80 columna.
Nuestro Expreso de Oriente no se ha
dormido en los laureles, y nos ha traí-
do unas pequeñas noticias curiosas
del otro extremo del planeta. Dos
son las curiosidades que vienen a
nuestras páginas, la primera de ellas
es la próxima aparición de robot MSX.
Efectivamente, una importante em-
presa japonesa ha desarrollado un
robot que, conectado a un ordena-
dor MSX, permitirá controlar una se-
rie de aparatos como pletinas do-
bles, televisores, videos, etc. Estos
se podrán encender y apagar a gus-
to del consumidor, puesto que será
él quien programe su ordenador para
que éste realice todas estas tareas.
Este es el robot doméstico, mientras
que en el otro extremo, están pen-
sando en una versión para usos in-
dustriales que la puede revolucio-
nar.
La otra noticia hace referencia al
complicado entramado interior de los
MSX. Parece ser que en un futuro no
muy lejano y en vistas de la pronta
aparición de los MSX de procesado-
res de 8/16 bits, la presentación in-
terna de los aparatos va a cambiar.
La mayoría de estos ordenadores
vienen con gran cantidad de circui-
tos integrados y 8 chips separados
para la memoria de 64K. Esto está
en vías de desaparición, ya que se
piensa reducir y agruparlos en un
chip estandard. El nuevo chip de
memoria, MT8064 almacenará la to-
talidad de los 64K. Este revoluciona-
rio chip tendrá una forma cuadrada y
sólo 36 pins. Obviamente, se reduci-
rá sensiblemente el consumo, au-
mentando las prestaciones del orde-
nador.
MSX 5
Microprocesador Z80A
La mejor característica del MSX, sin lugar a du-
das, es la compatibilidad entre los diversos ordenado-
res. Esto se ha logrado gracias a unas especificaciones
comunes a los equipos que son 9 un microprocesador
Z80, un bisplay de video de Texas Instruments y un
generador de sonidos de General Instruments. A este
bloque se le añade 32 K o BASIC incorporado en
ROM y tendremos el esqueleto de lo que es un orde-
nador MSX.
BASIC en ROM 2 chips
6 MSX
msx:
Interioridades
Generador de Sonido PSG
Kl ( <>n<>( ei las intci ioi idades de
un ordenado] nos permitirá un
mejor entendimiento de las posi-
bilidades del aparato a todos los
niveles, no sólo, en rúan lo a su
capa< idad de tratai la informan ion,
sino también, a la posibilidad de
mterconectarlo con |XTÍféricos 5
aparatos que estaban resellados
para otro iipo de ordenado! más
(spKÍluo. Este conocimiento nos
permitirá aprovechar nuestra má-
quina \ "c\pi huirla" basta el úl-
i mu > bit de memoria. Kl MSX tiene
la particularidad de poseer chips
con funciones totalmente ¡ndepen-
tlicnics. no (onio olios ordenado-
res, donde la CPU realiza las fun-
ciones de microprocesador, gene-
rado] de sonido \ displa) de video.
En esia introdut ( ion, mostrare-
mos paso a paso las cara< terís ticas
de las partes prin< ¡pales del orde-
nadoi \ de otras partes que aunque
no sean de vital importancia, el
papel que realizan sí es ( i iu ial,
como, poi ejemplo, el registro que
alecciona l<is participaciones de
memoria. Esta cuestión viene des-
los manuales que nor-
( rita en
£L Buho £sr£...
MSX 7
malmeme acompañan al ordena-
dor, pero en el mejor de los casos,
sólo lo pueden entender los que
poseen conocimientos de electró-
nica. Nosotros procuraremos po-
nernos a buena aluna para perder
ese miedo que da el desconoci-
miento de semejantes máquinas y
hacerle comprender las caracterís-
ticas esenciales de su aparato. An-
tes de entrar en materia, conviene
aclara» un símbolo que se repetirá
hasta la saciedad en este y oíros
artículos, se nata del "6"que junto
con la lena "O" o "//" indican la
base numérica en la que se está
trabajando. El primero se utiliza
para operar con números en base
octal \ el segundo para operar en
basé hexadecimal.
La memoria RAM
es la herramienta
adicional de la
ROM, haciendo
aquélla las
funciones de
calculadora y
bloque de
anotaciones.
Iniciaremos este estudio con el
mapa de memoria ele la figura 1 . en
el que podemos observar la apari-
ción de un concepto totalmente
nuevo para algunos y no tanto
para Otros, se nata de la partición,
que más adelante veremos con
detalle, por el momento basta salx'i
que la partición o es la del sistema.
El mapa de memoria de un orde-
nador es una descripción de como
está repartida \ aprovechada ese
espacio que es la memoria. A su vez
también podremos comprobar el
estado de la zona dedicada a la En-
trada Salida de información. La
ROM del MSX siempre comienza
en la dirección o de la memoria y
(H upa hasta la direcc ion 8cH7FFF,
8 MSX
mientras que la RAM ocupa desde
la dirección &H8000 hasta la
ScHFFFF. Un equipo MSX nec esi-
ta una configuración mínima de
8K. pero esto limita enormemente
las posibilidades del sistema. Estos
8K ocupan la parte inferior de la
memoria, es de c ir, desde la direc-
ción ScHFFFF hacia abajo. Aun-
que esta sea la configuración mí-
nima, se le pueden añadir bloques
de RAM de 16K. que ocuparían
desde la dirección &HFFFF hasta
la ScHCOOO. Haciendo una resta en
hexadec i mal (en otro momento ha-
blaremos de las operaciones con
los distintos sistemas numéricos,
principalmente los sistemas bina-
rios, octal y hexadecimal) obten-
dremos como resultado 16384 posi-
( iones de memoria. Esto sorpren-
derá a más de uno, ya que si
añadimos 16K a los 8K existentes,
deberíamos obtener un total de 24
cual continuaremos explicando el
funcionamiento de la memoria en
este sistema. Un sistema MSX con
una memoria mínima de 16K, po-
see una página de RAM que ocupa
las direcciones &HCFFF hasta la
ScHFFFF y dos páginas de ROM,
que ocupan están integrados el
BASIC junto con el OS (Operating
System-Sistema operativo). Hasta
el momento no hemos visto nada
espectacular en el interior del apa-
rato, salvo el concepto de la parti-
ción. Este marca la pauta diferen-
( ¡adora entre ordenadores persona-
les.
Memoria ROM
Kl estándar MSX la trata poi
particiones, que es una de las
características que permite añadir
memoria a la ya existente, aunque
FFFF
COOO
BFFF
8000
7FFF
4O00
PAG 2
3FFF
PAG 0
0000
AREA DE
MEMORIA
CPU
16 K RAM PARA
COMPUTADORES
MSX DE 16 K
16 K RAM PARA
COMPUTADORES
MSX DE 32 K
CARTUCHOS ROM PARA
JUEGOS DE 8Ó16K o
EXPANSION RAM DE I6K
PARA MSX DE 16 K
RAM
ROM BASIC MSX
UTILIZADO PARA LA
EXPANSION DEL BASIC
0 SISTEMA OPERATIVO DE
DISQUETE EN ROM U
OTROS LEGUA JES
DISQ
SOFTWARE
EXPANSION
BASIC
ROM bask: MSX
(BIOS)
PARTICION DEL
SISTEMA
0
PARTICION DEL
CARTUCHO
1
Figura: 1
Mapa de memoria de las características del MSX.
K, y eslo no es cierto, ya eme los 8k
son absorbidos por los 1()K que
añadimos. La razón es que el MSX
trabaja con bloques de informa-
ción de 16K denominado página.
Ahora estamos en condiciones de
hacer una afirmación a partii déla
esta posea 32K de RAM y 32K de
ROM. Con una memoria de este
tipo, tendremos un completo mapa
de memoria, ya que el minoproce-
sadoi Z80 sólo puede manejar 64K
a la vez. En resumen, el ordenador
puede tomai particiones indepen-
dientes para formar el mapa de
memoria* Por lo mencionado po-
demos deducir que una partición
tiene un total de 64K ( \ páginas de
16K = 65535 bytes) que se puede
rellenar de ROM o RAM. Absolu-
tamente todos los ordenadores
MSX han de poseer por lo menos
dos particiones dr memoria, aun-
que se puedan tener hasta \. Cada
una de estas particiones se pueden
expandii en cuairo más. por loque
el total de particiones que pode-
mos tener es de 16. Ks más. si cada
una de éstas tuviera 6\K, algo que
no se puede conseguir con olios
ordenadores personales; la posibi-
lidad de direccionar hasta 1 Mega-
byte de memoria. Esta es la canti-
dad máxima tolerada por el MSX,
El interface de
comunicaciones
8251 y el
programador de
intervalos 8253 son
los encargados de
las conexiones de
E/S.
aunque sólo se puedan manejar
64K a la vez. Las particiones suelen
tener una función determinada. La
primera partic ión es la 0 y es la del
sistema, donde tendremos 32K de
ROM y 16K de RAM. La siguiente
partición es la l o la del cartucho
ROM, donde podremos conectar
ampliaciones de memoria de 16K o
cartuchos de juegos en ROM.
Las particiones son controladas
poi el registro seleccionado] que es
el port A del 8255 PIA. Este regis-
tro informa al ordenador sobre las
particiones a tener en cuenta a la
hora de realizar el mapa de memo-
ria. La figura 2 muestra la forma
en que se acceden a las particiones
de la memoria. Los bits 0 y 1
acceden a páginas situadas en la
partición 0. los bits 2 y 3 acceden a
las páginas de la partición 1 J así
hasta la partición 4, a la cual se
accede con los bus (i v 7. Hay que
tiacei hincapié sobre la necesidad
de tener nociones de números bi-
narios, va que, la memoria de
c ualquier ordenador trabaja en este
sistema de numeración. Aquí es
bínanos del 0 al 3). Hay que
destacar que la memoria física está
de alguna forma absorbida por la
página específica y de esa forma,
m ien i ras que es ; >c >si ble acceder a la
página 2 desde la partición 3 como
parte del mapa de memoria, no se
puede asignar la página 3 de la
partición 3 a la página 0 del
espac io de memoria de la CPU.
ÍHFFFF
&HF380
AREA DE TRABAJO DEL SISTEMA
BLOQUE DE CONTROL DE FICHEROS
AREA DE TRABAJO DE CADENAS
AREA DE TRABAJO DE PILAS
AREA LIBRE DE LA MEMORIA
ZONA DE VARIABLES DIMENSION ADAS
AREA DE LAS VARIABLES
&H8000
&H000
AREA DEL PROGRAMA BASIC
ROM DEL BASIC - MSX
«HCOOO Para
MSX 16K
Figura: 1 bis;
Mapa de memoria de la partición del sistema.
útil saberlo, puesto que el conteni-
do de este registro son 0 y 1 que
según su combinación, va a dar el
valor de una de las cuatro páginas
de la partición. En este registro los
números se representan de la forma
00, 01. 10 v 11 (son los números
lina mínima configuración de
un sistema ha de llevar dos parti-
ciones, una para el ordenador y
otra para el cartucho. Normalmen-
te, las instrucciones que acompa-
ñan a cualquier MSX confunde un
poco al usuario con el término de
MSX 9
partición, que es la forma en que
está dividida la memoria del orde-
nador. De esta forma, mientras que
una partú íón ( ontrola un cartu-
cho, es a su vez una partición
conceptual y físicamente, la parti-
ción del ordenador no tiene nin-
gún sentido físico.
La partición 0. que es la del
sistema, está dividida en una seiie
de anas de trabajo que resultan
conveniente conocer, est.is son las
siguientes. Una área de trabaje), la
( nal está situada en las siguientes
/< mas de memoi ¡a, desde la &/ 1FFFF
hasta la 8cHF380 \ es utilizada por
la memoria ROM del ordenador
para realizai sus operaciones \ sus
cálculos internos. La siguiente zo-
na a sabei es el Bloque de Control
san te, puesto que < oikm iéndola,
tendremos un control sobre los
bucles FOR-NEXT. Aquí se alma-
cena la dirección de la instrucción
BASIC] a la que ha\ que volver una
vez ejec utado el biu le. I a siguiente
área de la memoria es una que no
se utiliza j cuyo tamaño lo pode-
mos com probai con la instrucción
FRE desde el BASIC. Esta instruc-
( ión nos dirá la capa< idad de nues-
tro ordenador. Poi ejemplo, intro-
du< leudo el siguiente ( ornando di-
i ce t< ). sabremos la memo) ia de
nuestro ordenador. PRINT FRE
(0), dará un valor que nos indic ará
si nuestro ordenador es de 32 o h Ik
O si es de H>k, en el primei caso
obtendremos 28815 \ en el segundo
caso obtendremos 12431. El tama-
6 5
0 0
0 0
SELECCIONA LA PARTICION O.PARA LA PAG. 0
SELECCIONA LA PARTICION 0,PARA LA PAG 1
SELECCIONA LA PARTICION 2, PARA LA PAG 2
SELECCIONA LA PARTICION 0, PARA LA PAG. 3
Figura: 2
Registro de selección de las particiones del mapa de memoria.
de Ficheros, que está reservada
pata las opera* iones de Entrada
salida (uando utilicemos ficheros.
Las instruo iones como !TM e
INPUTti utilizan este bloque. El
tamaño del bloque se puede lijar
con la instrucción MAXFILES. El
límite máximo está situado en la
dirección &HF3S0. pero se puede
controla] con la instrucción
( / l IR. El área de las cadenas, la
cual almacena los contenidos de
Lis variables de cadena, si no se
especifica este valoi será de 200
iara< teres. Luego tenemos la zona
de las Pilas. Quizás la más intere-
ño disnunm e en I mu ión de la
longitud de nuestro programa BA-
SIC". Acabando con esta primera
pal tu ión tenemos tres áreas que
son las que controlan las variables
dimensionadas, las variables pro-
piamente dichas \ l,i zona del
programa BASIC. La primera al-
ma< ena las \ai iables de una ins-
trucción OIM \ se incrementará
cada vez que ejecutemos esa ins-
trucción. La segunda almacena las
variables numéricas \ la cadena de
púntelos de esta /ona. Poi último,
encontraremos la /ona dedicada a
almacena] un programa en BASIC.
Conectores Entrada/Salida
Pasemos a vei un poco los conec-
tores de Futrada Salida de infor-
mación. En la figura 8 podemos
\ ei como las 256 direcciones de í S
del procesado! /so están distribui-
das dentro de un ordenado! MSX.
Veremos detenidamente lo que in-
dica este mapa de memoria, co-
menzando poi el interface RS-232
en las direcciones &H80 \ 8cH88.
FF
F8
F7
FO
EO
D8
DO
CO
B8
B4
B0
A8
AO
98
90
88
80
00
CONTROL DEL AUDIO Y VIDEO
*R0M CON CARACTERES KANJI
C0NTR0LAD0R DEL DISKETTE
INTERFACE DEL LAPIZ OPTICO
MEMORIA EXTRA
PPI (8255)
PSG (AY-3-8910)
VDP(99I8A)
* INTERFACE DE IMPRESORA
* INTERFACE RS-232C
NO UTILIZADO
h'igura: ^
Mapa de memoria de E/S.
I siá basado en un < hip interface de
comunicaciones tipo 8251 y un
programadoi de intervalos IC
8253. La asignación de ports del
RS 232 dentro del área de memoria
del mapa de E S son las siguientes;
** &H80-L E 8251 pon de da-
tos.
10 MSX
** &H8 1-8251 pon controlado!
del estatus de los comandos,
** &H82-L interruptores que
controlan la velocidad en baudios,
** &H83-L interruptores que
( ontrolan la configura* ion,
** &H84-E máscara del registro
de interrupción,
** &H8S- L E 8253 Contadoi 0.
** &H83- L E 8253 contado! 1.
** cSsil 18<>- L E 8253 contado] 2,
** &H87- E 8253 registro de
modos.
Los interruptores de las diré* -
(iones &H82 \ &H83 son Lis res-
ponsables de la configuración del
canal RS-232. &H82 prepara la
velocidad en baudios, donde los
hits 0-3 controlan la entrada de
daios \ los bits 1-7 controlan la
La configuración
mínima de un
ordenador MSX es
de 8K, pero esta
posibilidad delimita
enormemente las
posibilidades del
aparato.
velocidad de transmisión. Fijando
el valor adecuado con número he-
xadecimal entre &H0 y 8cHA 9 po-
dremos tenei a< < eso a las siguientes
velocidades: 50, 75, 1 10, 1-50. 800,
600, 1200, 2400, 1800. 9600 o 19200,
iodos esios valores están expresa-
dos en baudios. Los valores entre
y &¿HA, podremos tenei ac-
\ 8cHEt están mu asignar,
mientras que &///• es un canal que
no se utiliza. La direcciqn &H83 s(
<>< upa del resto de la configuración
de los (anales. El bit 0 es la línea
CD conectada directamente ton el
RS-232 mientras que los restantes 7
bits realizan la siguiente función.
El bit 1 selecciona la alimentación
automática de línea, el bit 2 con-
trola si la línea es full O semi
dúplex (término en la transmisión
de datos que veremos más ade-
lante). El bit 3 determina si el
control XON OFF está conectado
\ el bit i controla la longitud de la
palabra y el bit 5, fija la paridad,
que puede s£i pai o impar (este
siguen las especificaciones con to-
da exactitud. De manera, que para
evitar problemas ue esto pudiera
causar, la mejor forma de controla!
todas las llamadas a los ports de
E/S es mediante el uso de las
llamadas al sistema operativo.
Modo
Resolución
Ta-
maño
Núm.
Colores
Sprites
Núm. de
caract.
Gráfico 1
Lbl
esperado
256
192
8 8
256
16
colores
SI
32 24
Valor
sugerido
240
192
29 - 25
Gráfico II
LSI
esperado
256
192
8 8
768
16
colores
SI
32 x 24
Valor
sugerido
240
192
29 - 34
Multicolor
LSI
esperado
64
48 Bl.
Bloq.
16
colores
32 24
Valor
sugerido
64
40 Bl.
4 4
No
29 x 24
Texto
LSI
esperado
256
192
8 6
256
2 colores
de los 16
posibles
SI
40 > 24
Valor
sugerido
240
192
39 X 24
Figuu: A
Configuración de la partición de cartuchos.
concepto también lo veremos de-
talladamente, ya que es un punto
fundamental en la transmisión de
(hitos). Bit 6 pone la paridad si el
valor es alto y el bit 7 fija los bits de
stop, 2 si se pone y l si no.
Otras áreas del mapa de E/S no
preocuparán a la mayoría de los
usuarios, a excepción del port PPI.
Esté esiá colocado de la siguiente
forma;
## &HA8- Port A de E/S,
** &HA9- Port B de E/S,
# * &HAA- Port C de E/S,
## &HAB- Modo del registro.
Aunque el manual comenta las
dilecciones de E/S, advierte que
algunos fabricantes a lo mejor no
Siguiendo con la explicación de
las diversas zonas de memoria lle-
gamos a las siguientes;
** &H90 a &H91- Esta controla
el interface de la impresora, por lo
que es utilizado por los comandos
del BASIC, LPRINT y LLIST. El
bit l de la dirección %cH90 indica si
la impresora está o no ocupada.
Todo lo que escribamos en la
dirección 8c H9l saldrá por la im-
presora.
** &HAO a &HA2- Son direc-
ciones muy útiles pues permiten
controlar el chip programable de
generación de sonido (PSG, AY-3-
89 10) a través de las instrucciones
INP y OUT. Se puede controlar
MSX 11
directamente al programar en códi-
go máquina, pero es más sencillo en
BASIC ya que se puede controlar
mediante las citadas instrucciones.
** &H99- Estas dos direcciones
permiten un acceso directo a la
memoria del video display (VDP,
9918 A) sin tener que utilizar las
instrucciones de este chip. Tam-
bién permite acceder directamente
a la VRAM sin tener que utilizar
las instrucciones VPEEK ni VPO-
KE
** ScHA8 a &HAB- Llegamos a
una zona de memoria que hará las
delic ias de unos, pero que sumirán
Nuestra sugerencia es que no se
utilice a no ser que se domine el
lema. Este interface es el chip PPI
8255 y está compuesto de cuatro
registros, cuya disposición es la
siguiente;
— &HAB, registro A de salida
— &HA9, registro B de entrada
— &HAA, registro C de salida
— &HAB, registro para selec-
cionar el modo.
Registros
Este interface permitirá con tro-
N.°P1N
NOMBRE
E/S
N.°PIN
NOMBRE
E/S
1
CSl
S
2
CS2
S
3
CS12
S
4
SLTSL
s
5
RESERVADA
6
RFSH
s
7
ESPERA
E
8
INT
E
9
M1
S
10
BUSDIR
E
11
IORQ
S
12
MERO
S
13
WR
s
14
RD
S
15
RESET
s
16
RESERVADA
17
A9
s
18
A15
s
19
A11
s
20
A10
s
21
A7
s
22
A6
s
23
A12
s
24
A8
s
25
A14
s
26
A13
s
27
A1
s
28
A0
s
29
A3
s
30
A2
s
31
A5
s
32
A4
s
33
D1
E/S
34
DO
E/S
35
D3
E/S
36
D2
E/S
37
D5
E/S
38
D4
E/S
39
D7
E/S
40
D6
E/S
41
GND
42
RELOJ
S
43
GND
44
SW1
45
+5V
46
SW2
47
+ 5V
48
+ 12V
49
E/SONIDO
E
50
— 12V
l-igurj: 5
Diagrama de conexiones en los cariuchos ROM.
«1 un mar de dudas a otros, se iraia
del interface programable de peri-
féricos. Este hay que manejarlo
con sumo cuidado ya que podemos
causar serios problemas y más si
tenemos algún programa en la
memoria del ordenador.
lar cassettes, teclados, interfaces
electrónicos, etc. Para un mejor
entendimiento, veamos los regis-
tros individualmente.
El registro A es de salida y se
utiliza para controlar las direccio-
nes de memoria del sistema MSX.
Su contenido no se debe alterar a
no ser que sepamos lo que hace-
mos.
El registro B es de entrada y
detecta si se ha pulsado una tecla.
El registro C es de salida y su
N.° PIN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
NOMBRE SEÑAL
PSTB
PDB0
PDB1
PDB2
PDB3
PDB4
PDB5
PDB6
PDB7
NC
OCUPADO
NC
NC
GND
Figura: 6
Diagrama de las conexiones que conforman
el pon de la impresora.
función primodial es la de ayudar
en la lectura del teclado, función
que por el momento no nos intere-
La partición 0, que
es la del sistema,
está dividida en
áreas de trabajo
con tareas
específicas.
sa y que en futuros números no
solo comentaremos sino que dedi-
caremos especial atención a este
interface programable de periféri-
cos.
** 8cHBO a ScHB3 - Se utiliza en
algunos ordenadores para contro-
lar memoria adicional.
12 MSX
** ScHBB a ScHBB - Esta direc-
ción es caso aparte puesto que
controla el lápiz óptico que algu :
nos ordenadores tienen como op-
ción. Con esta dirección finaliza
un estudio previo de las direc-
ciones de memoria de un MSX, de
cualquier manera, el ordenador
tiene bastantes elementos a los que
dedicaremos ríos de tinta hasta que
N.°
NOMBRE
PIN
SEÑAL
DIRECCION
1
AVANCE
ENTRADA
2
RETROCESO
3
IZQ.
»
4
DER.
»
5
+ 5V
6
DISR 1
ENTRADA
7
DISP 2
SALIDA
8
SALIDA
SALIDA
9
GND
Figura: 7
Asignación del pon de entrada.
los lectores hayan comprendido su
completo funcionamiento.
Memoria RAM
Continuando con las interiori-
dades del aparato, entremos en la
disposición de la memoria RAM.
Como ya sabréis, la memoria
RAM es el lugar donde se almace-
nan los programas en BASIC y las
variables de esc programa. Empe-
zaremos por ver la dirección inic ial
de un programa. Para bailar dicha
dirección tenemos que introducii
el siguiente comando directo:
PRINT 65536 - (n.° 1024)
donde n es el número de K de tu
ordenador.
Claro que el ordenador necesita
de espacio para trabajar y de algu-
na parte lo ha de obtener. En el
MSX, ordenador complicado de
por sí, se necesita utilizar áreas de
la memoria RAM denominada
Area de Trabajo del Sistema y por
esa razón al conectar el aparato no
tienes toda la memoria que uno se
cree, ya que antes de poder teclear
tus programas, el ordenador se
asegura una cierta zona que le
permita realizar sus operaciones.
La zona que reserva está ubicada a
partir de la dirección 62336, por lo
que hay que poner especial aten-
ción a la hora de realizar algún
POKE en esta zona de la memoria.
La dirección del comienzo del área
de trabajo del sistema la podemos
hallar en las direcciones 64586 y
64587, el inicio de esta zona la
podemos calcular de la misma
manera que cuando calculamos la
dirección inicial de RAM. Otra
zona dentro del área de trabajo del
sistema es la que se dedica al reloj.
Esta variable, llamada TIME, se
encuentra en las direcciones
64670 y 64671 y se incrementa con
regularidad. Estos son algunos de
los conectores como la de los cartu-
chos "(figura 5), el port de la impre-
sora (figura 6), port analógico de
entrada de datos (figura 7), el port
de Entrada/Salida del cassette y
por último una especificación de
los conectores e ínter faces utiliza-
N°
NOMBRE
PIN
SEÑAL
DIRECCION
1
GND
2
GND
3
GND
4
CMT SALIDA
SALIDA
5
CMTIN
ENTRADA
6
REMOTO +
SALIDA
7
REMOTO -
SALIDA
8
GND
Diagrama de las conexiones del port de E/S
del cassette.
NOMBRE PIN
OBSERVACIONES
1. SALIDA DE VIDEO Y SEÑAL
COMPUESTA
2. SEÑAL MODULADA RF
CONECTOR DIN 5 PINS 0
CONECTOR RCA 2 PINS
CONECTOR RCA 2 PINS
CASSETTE
CONECTOR DIN 8 PINS
PORT E/S
CONECTOR AMP 9 PINS
IMPRESORA
CONECTOR 14 PINS
BUS DEL CARTUCHO
CONECTOR 50 PINS
SONIDO
CONECTOR RCA 2 PINS
Figura: 9
Los distintos conectores que pertenecen a una configuración completa de un sistema
MSX.
los elementos dentro de esta zona
especial para el área del sistema.
Hay más, pero su complicada es-
tructura hacen innecesario su des-
cripción por el momento.
Una vez vistas las interioridades
más relevantes del MSX, sería útil
que los lectores observaran las fi-
guras de la 5 a la 9, donde mostra-
mos la disposición de los pines de
dos en los ordenadores MSX (figu-
ra 9). Aquí ponemos punto final a
esta pequeña introducción sobre
las interioridades del sistema. Es
conveniente que se prueben todos
los conceptos vistos hasta el mo-
mento y repasarlo, para que de esa
forma os resulte fácil y divertido
dominar vuestro ordenador y no
dejaros dominar por él. □
MSX 13
Sistemas
de numeración
14 MSX
Desde los tiempos más remotos, el hombre a
utilizado sus manos para realizar una operación tan
simple como es la de contar.
Curiosamente, la mayoría de los
sistemas de enumeración antiguos se basaban en el
número 10 (hecho normal, si consideramos que los
árabes impusieron su cultura por aquellos
tiempos), a excepción de
los mayas e incas de América Central.
(_^ omo sabernos, el sistema de-
cimal se basa en los valores posi-
cionales de las cifras. Esto signifi-
ca, que si queremos escribir 3, se
entiende que son 3 unidades, pero
si cambiamos su posición, pode-
mos indicar 3 decenas (30) ó 3
centenas (300), etc. El número 3
adquiere un valor diferente según
su posición, esKi nene un valoi.
que es el del número (0. 1 . 2, 3, 1 . 5,
6, 7, 8,9) multiplicado tantas veces
poi 10 como indica su posición.
Ésto es lo mismo que hallar el
valoi de la base, 10, elevada a una
potenc ia, cjue es la posición que
ocupa el número. El primer valor
de la potencia es 0, puesto que ésta
es l.i de las unidades y no encontra-
remos ninguna potencia, excepto 0
i\.t que cualquier número elevado
a 0 es 1 ). que cumpla esta condi-
( ion.
Sin embargo, en los ordenado-
ies. no es posible utilizar diez
símbolos distintos para representar
cualquier número, ya que la má-
quina al funcionar con impulsos
MSX 15
eléctricos, sólo puede controlar dos
estados, que son la presencia (1) o
ausencia (0) de corriente. La in-
formación se recibe y almacena
como lo que es, una combinación
de 0 y 1 . Estos se dispondrán dentro
del ordenador de la forma que
mejor le convenga a la máquina.
De esta manera, podemos enten-
der cómo los ordenadores almace-
nan los datos en este sistema de
numeración, ya que es el que
permite una inmejorable represen-
tación de la disposición interna de
la memoria.
Este sistema también es posicio-
nal, ya que el valor de los símbo-
los, en este caso el 1, depende del
lugar que ocupe. Pero veamos có-
mo funciona el sistema posicional.
En la anotación decimal que
utilizamos diariamente, todo nú-
mero se representa mediante una
sucesión de cifras 0, 1,2, ... 9,
donde el valor de una cifra está en
función de la posición que ocupe
dentro de un número, así 30 no es
lo mismo que 300, ni que 3000.
Cuando escribimos un número
en base 10 realizamos una opera-
ción dictada por la costumbre,
aunque en realidad, utilizamos las
cifras de que disponemos como
multiplicadores de las potencias
sucesivas de la base 10.
Las potencias de la base son los
valores que se obtienen multipli-
cando entre sí tantos factores igua-
les a la base como indica el expo-
nente. Por ejemplo:
10 0=1 potencia cero (unidades)
10 1=10 potencia uno (decenas)
10 2=10 X = 100 potencia dos
(centenas)
10 3=10 X 10 X 10 = 1000
potencia tres (millares)
En un número decimal, cada
cifra, empezando por la derecha y
siguiendo por la izquierda, es un
multiplicador de las potencias su-
cesivas de 10.
El riguroso procedimiento de la
tabla siguiente permitirá asentar
los conceptos vistos hasta ahora. El
número 3605 se puede descompo-
ner de la siguiente manera:
Número: 3 6 0 5
Potencias de la base: 10t3 10t2
lOtl íoto
Peso posicional: 1000 100 10 1
Valor (cifra X peso): 3000 600 0
5
Valor numérico: 3000 + 600 + 0 +
5 = 3605
Este ejemplo hará sonreír a más
de uno, pero es básico a la hora de
entender el concepto de las bases
numéricas, ya sean binarias, ocía-
les o hexadecimales, que son las
más utilizadas en los ordenadores
de todos los niveles, desde los
En los ordenadores
no se pueden
utilizar 10 símbolos
distintos para
representar
cantidades
numéricas.
'mainframe" hasta los pequeños
ordenadores personales.
Comprendido el ejemplo será
fácil entender que un número es-
crito en base 10 tiene su homólogo
en cualquier otra base, siendo las
más importantes las citadas ante-
riormente. Vamos a ver cuáles son
los distintos símbolos utilizados en
estas bases de numeración.
En sistema decimal, los símbolos
son 10:
0. I, 2, 3, 4, 5, 6. 7. 8, 9
En sistema binario, los símbolos
son 2:
0, l
En base octal, los símbolos son 8:
0, l, 2, 3, 4, 5, 6, 7
En base hexadecimal, los símbolos
son 16:
0, 1,2,3.4,5, 6, 7. 8, 9. A, B, C, D,
E, F
Con estos símbolos, podremos
proceder de la misma forma, a la
hora de hacer cálculos, que con los
símbolos decimales, sólo que existe
una pequeña diferencia que la
veremos cuando tratemos el tema
de la operaciones con los sistemas
numéricos.
De las bases 8 y 16 hablaremos
más adelante. Empezaremos con el
sistema binario, que es el más
importante por el momento y a
partir del cual se desarrollan las
otras bases.
Sistema binario
Al igual que la notación deci-
mal, el sistema de numeración
binario es posicional, es decir, que
un número es una combinación de
0 y 1 puestos en cualquier orden,
donde el valor de ese número estará
en función de la posición que
(x upe el dígito 1 .
En este caso, las cifras que ocu-
pan las distintas posiciones se mul-
tiplicarán por las potencias sucesi-
vas de 2. El procedimiento de
interpretación de un número es
similar al ejemplo anterior. De
todos modos, otro ejemplo resulta-
rá interesante.
Número: 110 0
Potencia de la base: 2?3 2T2 2tl
2t0
Peso posicional: 8 4 2 1
Valor (cifra X peso): 8 4 0 0
Valor numérico: 8 + 4+04-0 =12
Por consiguiente, el valor 1100
en binario es igual a 12 en decimal.
Hemos visto con este ejemplo que
con cuatro dígitos binarios pode-
mos representar el número 12. Pero
si en lugar de haber colocado los
"1" en esos lugares, hubiéramos
realizado la operación de poner los
cuatro dígitos a "l", ¿cuál sería su
equivalente decimal? La solución
debería hallarla el lector en base a
16 MSX
lo visto anteriormente, sin embar-
go, evitaremos que se repase la
"lección". Colocando cuatro "1"
obtendremos el valor de 15 en
decimal. Este concepto va a resul-
tar interesante en cuanto veamos el
sistema de numeración hexadeci-
mal, ya que este sistema se basa en
16 símbolos, del 0 al 15, que son
todas las combinaciones de 0 y 1
que se pueden hacer en cuatro
posiciones distintas. La realizat ion
de todas las combinaciones posi-
bles lo dejaremos en manos de los
lectores a los que daremos una
pista, tiene que haber 16 combi-
naciones.
El sistema binario requiere gran
cantidad de símbolos para indicar
un valor numérico, por lo tanto
resulta incómodo de usar a la hora
de utilizar la máquina a fondo. Por
este motivo se han introducido dos
sistemas de numeración que per-
miten simplificar las operaciones a
realizar por el ordenador. Estos
sistemas son: el octal y el hexade-
cimal.
Estos sistemas permiten una re-
presentación compacta de los nú-
meros, y por tanto, facilitan la
escritura de éstos, sin tener que
utilizar grandes cadenas de 0 y 1.
Hay que tener en cuenta que el
valor de un número es el mismo en
binario, octal o hexadecimal, lo
único que varía es la forma de
expresarlo. Ya hemos visto como
obtener un número decimal a par-
tir de un número binario, veamos,
pues, la operación inversa. La
forma de proceder es contraria al
ejemplo anterior. Allí vimos cómo
se iban multiplicando los expo-
nentes por el valor posicional.
aquí haremos la división de tales
números por la base a la que
queremos efectuar el cambio. Por
ejemplo, para obtener un número
binario a partir de otro decimal,
dividiremos sucesivamente entre 2
hasta lograr que el cociente sea 1.
Con un ejemplo numérico se en-
tenderá mejor los pasos a seguir.
Tomemos el número 232 y halle-
Decimal 14/2 =
potencia 2t4
Decimal 7/2 =
potencia 2f5
Decimal 3/2=
potencia 2t6
Decimal 1
7, resto = 0,
3 ( resto = 1,
1, resto = 1,
potencia 2t7
El pastor prehistórico cuenta
sus ovejas mediante dos
vasijas con piedras.
El número nacerá de la abstracción
ideal de estas cuentas.
Anotando los restos con el últi-
mo cociente obtendremos el valor
1 1 101000, que es el valor binario de
232 decimal. Para asegurarnos que
el cambio de base ha sido correcto,
tendremos que hacer la operación
inversa, es decir, multiplicar los
valores obtenidos por las potencias
sucesivas de la base. Los cambios
de base son simples de realizar una
vez se tenga cierta soltura y muy
útiles a la hora de manejar cual-
quier otro ordenador, ya que la
mayoría de estos aparatos manejan
estos sistemas de numeración.
mos su equivalente en binario.
116, resto = 0,
Decimal 232/2
potencia 2T0
Decimal 116/2
potencia 2tl
Decimal 58/2
potencia 2t2
Decimal 29/2
potencia 2t3
= 58, resto = 0,
= 14, resto = 1,
= 14, resto = 1,
De todos modos, el BASIC MSX
viene preparado con varias ins-
trucciones para facilitar todo este
trabajo. La instrucción &B (bina-
rio) representa un número binario,
mientras que la expresión, BIN$
(expresión) calcula el valor binario
de un número decimal.
Cada dígito de un número bina-
rio se denomina "bit" que viene
MSX 17
Los egipcios descubrieron
la geometría al delimitar los confines
de sus tierras de labor con cuerdas.
poi todas las c < unbmac i< mes in-
termedias
Antes de pasai a otro sistema de
numerac ión, veamos cómo uuli/ai
las dos instruí ( iones que posee este
BASIC vistas anteriormente. Para
El sistema de
numeración binario
es la base de
todos los cálculos
matemáticos y
lógicos.
La numeración árabe, actualmente utilizada, posee su origen
en la palabra cifra (cuyo sentido originario es el término Zifr = 0 cero.
del inglés "hnunx digit" (dígito
binario), que como ya sabemos,
sólo puede tenei dos valores. 0 ó I .
Es importante resaltar que 8 bits
componen un u byte'\ siendo este
la longitd de una palabra de me-
moria.
Un byte puede represen tai un
total de 256 valores, desde el 0000
0000 hasta el 1111 1111. pasando
obtenei un número dec imal a pai-
tir de un número bina) ¡ó de 8 hits,
realizaremos la siguiente rutina;
10 A% = cS:B 01 101 100
20 PRIN 1 A%
RUN
En la línea 10 ¡ntrodu< imin el
valor que deseemos obienei en
de< ¡mal.
Para efectúa! la operación con-
traría, haremos la siguiente rutina:
10 A% = \M
20 PRINT BINJ (A*)
RUN
l)( esta forma obtendremos el
valoi binario del número situado
en l.i ¡nstru< < ión 10.
Con estos dos ejemplos podre-
mos realiza] todas las conversiones
que deseemos, sin tener que rom-
pemos la cabeza.
I odos estos pasOS son neeesanos
para que al lector le resulte más
seiu illo de en tendel \ más fácil
manejai las distintas bases numé-
i u as.
A continuación explicaremos el
siguiente sistema numérico en or-
den de importancia, el hexadeci-
mal.
Sistema hexadecimal
( ionru ) ya hem< >s \ isto anterior-
mente, los ordenadores trabajan
con mímelos en base 16, lo cual
fai ¡lita en gran medida la represen-
tai ion de números. ( lomo ya vimos
anteriormente, este sistema consta
de Ib símbolos (jue. aunque se;i
repetitivo enunciar, son los si-
guientes:
Base dec imal
0. I. 2, 3, l, 5, 6, 7. 8, 9, 10, 11, 12,
13, 1 L, 15
Base hexadecimal
0. 1.2. 8. L, 5, 6, 7. 8. 9, A. H. C, I).
I . 1
(.ni) estos símbolos se logra una
comodidad que no existía en los
números binarios. Además, el pa-
sai un número de esta base a la
de( imal es alg< i mil) simple como
veremos a ( ontinuac ion.
S.ibemos (jue un númeio en esta
base se representa con cuatro bits.
18 MSX
Programas Sony para ordenadores MSX
A la orden.
Monkey Países Países Computador Computer TheSnowman Cubit Character
Academy del Mundo- 1 del Mundo- 2 Adivino Billiards Collection
Stop the express Hustler (Billar Data cartridge Quinielas y Home Wnter Sparkie Aprendiendo Binary Land
(Para el Tren) Americano) Reducciones Inglés- 1
Creative Aprendiendo Antartic Mastermmd Contabilidad Athletic Land E.l. Ficheros
Greetings lnglés-2 Adventure Personal
El Ahorcado Dorodon La Pulga Cosmos Control BattleCross Mouser CrazyTrain
de Stocks
Alibaba Juno First Car Jamboree Tutor Trackand Blackjack Trackand DrillerTanks
Field-1 Field-2 (Tanque
(olimpiadas) (olimpiadas) Destructor)
* /> lelilí l|
* &i Y muchos
más títulos
Sonygraph Ninja Les Flics
(El Samurai)
Ordenador Doméstico
HIT 3¡T
Para lo que guste ordenar.
por lo que cualquier número bina-
rio que conste de 8 bits, lo podre-
mos dividir en dos de cuatro y
obtener así su valor hexadecimal.
Antes hallábamos la combinación
binaria del número decimal 232,
hallemos ahora su valor en hexa-
decimal. Iremos paso a paso, para
que se entienda mejor, pero antes
de continuar, hemos de decir que
este método, aunque rudimentario
es de los más fáciles de aprender y
de seguir, aunque existan otras
formas de realizar el cambio de
base.
El sistema
hexadecimal utiliza
las letras A, B, C,
D, E, F para
representar los
números 10, 11,
12, 13, 14 y 15.
PESO POSICIONAL I28 64 32 16 8 4 2 1
POTENCIA DE LA BASE 2T7 2T6 2t5 2T4 2T3 2T2 2t1 2t0
NUMERO BINARIO 1 110 10 0 0
VALOR ( cifra x peso) 128+64+ 3 2 + 0 + 8 +0 +0 -1-0 = 232
Esta era la representación a la
que estamos acostumbrados, al ha-
ber realizado anteriormente un
cambio de base, pero ahora que
tenemos el número binario, divi-
dámoslo en dos cifras de cuatro bits
y tratémoslas independientemente.
siendo 8 en la obra base. En suma,
el número hexadecimal equivalen-
te al valor 232 decimal es E8.
Estos son los pasos para conver-
tir un número decimal a hexade-
cimal. paia realizar el proceso in-
verso, es decir, sustituiremos el
PESO POSICIONAL 8 4 2 1 8 4 2 1
POTENCIA 2T3 2t2 2t1 210 2t3 2T2 2t1 2t0
NUMERO BINARIO 1110 10 0 0
A continuación hallemos el va-
lor de las dos partes, también
independientemente.
valor hexadecimal por la combina-
ción binaria o lo haremos median-
te una fórmula que sirve, no sólo
VALOR ( valor x peso) 8+4+2+0=14 8+0+0+0 = 8
Una ve/ que tengamos el núme-
ro binario descompuesto en dos
cifras de 4 bits y obtenido el valor
numérico de esas dos partes, ire-
mos a nuestra tabla hexadecimal
(doñee tenemos los dieciséis símbo-
los que componen el sistema de
numeración hexadecimal, del 0 a
la F) y sustituiremos los valores de
las dos partes por su correspon-
diente de la tabla. De esta forma
tenemos que el 14 en decimal es la
E en hexadecimal y que el 8 sigue
20 MSX
para esta base, sino para todas las
que deseemos. El primer procedi-
miento ya lo conocemos, es el que
hemos desarrollado a lo largo de
este artículo, el segundo es el si-
guiente:
(decimal) = ( primer dígito)* I6t0 +
(segundo dígito)*16t1 +( tercer
dígito)* 16 t 2 + . . .
Este que parece más complicado,
no loes tanto. El número decimal,
al pasarlo a otra base equivale a
multiplicarlo por la base elevada a
potencias sucesivas, por esta razón
aparece como multiplicador el 16
(es la base de la que partimos, si
partiéremos de otra base, la octal,
por ejemplo, este número sería el
8). Haremos un ejemplo que acla-
rará este nuevo procedimiento.
Tomemos el número E8 y ha-
llemos su valor decimal.
E8 = 8*l6t0+E*16t1 = 8*
1+ 14 « 16 = 232
Sin embargo, todo este procedi-
miento se puede eliminar en el
BASIC! MSX, pues éste dispone de
sendos comandos que realizan es-
tas operaciones. La forma de con-
vertir un número hexadecimal en
su equivalente decimal es utili-
zando la función &H, mientras que
para realizar la operación inversa
se realiza con HEX$. Dos progra-
mas aclararán este paso:
10 X% = &F3DF
20 PRINT X%
RUN
Esta rutina halla el valor deci-
mal del número hexadecimal de la
línea LO, la siguiente rutina obtie-
ne el equivalente hexadecimal del
número decimal.
10 X% = 196
20 PRINT HEX$ (X%)
RUN
Estas rutinas son de suma utili-
dad a la hora de realizar programas
en código máquina. Es interesante
resaltar que la notación binaria se
usa cuando realizamos dibujos o
caracteres gráficos con sprites, ya
que esta forma es la más sencilla a
la hora de ver qué bit está puesto a
1 y cuál no. La notación hexade-
cimal, sin embargo, se deja para
programar en código máquina
puesto que es la mejor forma de
asignar las direcciones de memoria
Como vemos cada sistema de nu-
meración tiene su utilidad en
cuanto al ordenador se refiere, cada
uno tiene una función que le
caracteriza, aunque es posible rea-
lizar sprites con valores hexadeci-
males y asignar direcciones de
memoria con números binarios,
pero es labor algo complicada,
¿cómo descomponer un número
como &HBFFF en dígitos bina-
rios? La pregunta es curiosa pero
determinante para asentar las bases
de que a cada sistema numérico le
corresponde una función.
Sistema octal
Este sistema aunque sea el últi-
mo en describir no es menos im-
portante, no tiene tantas aplica-
ciones como los dos sistemas ante-
riores, pero es de suma utilidad
puesto que alguna función puede
ayudarnos a resolver. Esta base se
caracteriza por utilizar solamente
los 8 símbolos siguientes:
BASE DECIMAL:
0, l, 2, 3, 4, 5, 6, 7, 8, 9
BASE OCTAL
0, 1, 2, 3, 4, 5, 6, 7, 10, 11
Entrar en definir los procedi-
mientos para convertir un número
de esta base a otra sería redundar
en la materia, por esta razón, sólo
veremos con que instrucciones del
BASIC: MSX obtendremos los
cambios que deseemos y rectificar
la fórmula anterior que se vio
acerca de los cambios de base de un
número hexadecimal a su equiva-
lente decimal, que también vale
para este sistema, siempre y cuan-
do se sustituya el valor 16 por el 8.
De todos modos así queda la fun-
ción:
(decimal) = (primer dígito)* 8tO +
(segundo dígito) 8T1 + (tercer dí-
gito)* 8t2 +. . .
Como vemos, es igual a la vista
anteriormente, con la excepción
del multiplicador es 8 en lugar de
16.
La base octal está
a mitad de camino
entre la
hexadecimal y la
binaria.
Al igual que en las dos bases
anteriores, también existen dos ru-
tinas que permiten el cambio de
base, de octal a decimal y viceversa.
Las rutinas son las siguientes:
10 X% = &05467
20 PRINT X%
RUN
Convertirá un número octal al
dor por dentro es de una ayuda
difícil de estimar, hasta que uno no
lleva bastante tiempo realizando
programas. El MSX ofrece unas
aptitudes en cuanto a los cálculos
numéricos que harán las delicias
de los expertos y de los que van
camino de convertirse en ellos. No
ha\ otro ordenador personal que
admita trabajar con números en
doble precisión con 14 dígitos sig-
nificativos pero esto es materia que
trataremos a su tiempo, ya que por
el momento, basta saber que exis-
ten diversos sistemas de numera-
ción y que los ordenadores traba-
jan en los sistemas binarios y
hexadeci males. Dejaremos para fu-
turas ocasiones las operaciones ló-
gicas del Algebra de Boole, así
como se efectúan sumas y restas en
las distintas bases numéricas.
Para acabar, un pequeño cuadro
de los 16 primeros números en las
distintas bases.
DECIMAL
BINARIO
OCTAL
HEXADECIMAL
0
0000
0
0
1
0001
1
1
2
0010
2
2
3
0011
3
3
4
0100
4
4
5
0101
5
5
6
0110
6
6
7
0111
7
7
8
1000
10
8
9
1001
11
9
10
1010
12
A
11
1011
13
B
12
1100
14
C
13
1101
15
D
14
1110
16
E
15
1111
17
F
sistema decimal, mientras que:
10 X% = 189
20 PRINT OCT$ (X%)
RUN
realizará la operación contraria,
convertirá un número decimal al
sistema octal.
De cualquier manera, la parte
más interesante de los sistemas
numéricos la veremos más adelan-
te. El saber cómo opera el ordena-
Visto todo esto, muchos se pre-
guntarán cómo se representan las
fracciones de los números dentro
de la memoria del ordenador.
Este es otro tema que trataremos
en futuros artículos, ya que por el
momento, interesa que los concep-
tos expuestos aquí no caigan en
saco roto y que se entiendan, para
de esa forma trabajar con más
soltura. □
MSX 21
El Sistema Profesional SVI tiene como núcleo el SVI-328, un ordenador de altas prestí
característica básica es su capacidad de ampliación. Con la adición de un SuperExpander
de sus versiones — se dispone ya del Sistema Operativo CP M y de su enorme biblioteca c
que incluye procesadores de texto, hojas de calculo, bases de datos, contabilidades, etc.
periféricos y expansiones disponibles hace del Sistema Profesional SVI-328 uno de los me
y versátiles de cuantos existen.
• SuperExpander con uno o dos discos
de 320 K, simple o doble cara.
• Tarjeta de 80 columnas.
• Tarjeta Centronics.
• Tarjeta Serie RS 232.
• TnriPtnc rlr
Solicite a nuestros distribuidores la
Oferta Especial "Valué Pack".
d w d r^~A
LA INFORMATICA
DEL FUTURO
SVI-728 PLUS
MSX es un standard universal para ordenadores personales que asegura la total compatibilidad tanto
entre equipos como entre periféricos y programas. Definido y desarrollado por Microsoft, líder mundial
en software, y por Spectravideo Internacional, ha sido ya adoptado por numerosos fabricantes de todo el
mundo.
El ordenador personal SVI-728 PLUS añade a todas las ventajas de la norma MSX un diseño propio de
un "profesional": 90 teclas (con "ñ", acentos, teclado numérico independiente...), 80 K de memoria RAM,
sonido, gráficos de alta resolución, ranura y reset para cartuchos,...
... y una completísima gama de periféricos:
• Unidad de disco de 320 K (incluido
sistema operativo CP M).
• Tarjeta de 80 columnas.
• Magnetófono
e memoria
P. V.P. 64.500
r
Los super-joysticks QUICKSHOT de
precisión. Para SPECTRAVIDEO,
AMSTRAD, ATARI, COMMODORE, etc.
RED LOCAL DE COMUNICACIONES (LAN)
Hasta 32 ordenadores SVI-328, SVI-728 PLUS o cualquier otro del standard MSX con al menos 64 K de
memoria RAM pueden conectarse como estaciones de trabajo a una estación "master" que controla la red.
A una velocidad de transmisión de 230 Kbits por segundo y utilizando el Sistema Operativo CP M, un disco
duro Winchester de 10 M almacena la biblioteca de programas comunes, los programas realizados por los
distintos usuarios, el software de la Red, un "spooler" para la impresora, etc. Especialmente diseñada
para su empleo en educación, la conexión del conjunto es extremadamente simple y de gran sencillez de
operación.
SVÍ
SPCCTRAVIDtO
Avda del Mediterráneo 9
Tels 4334548-4334876
28007 MADRID
Delegación en Cataluña
Tarragona 110 Tel 32510 58
08015 BARCELONA
DE VENTA EN ÉlOkJn^fc^ Y TIENDAS ESPECIALIZADAS
Números romanos
Piooiiinun el ordenador para I entro el sistema romano \ árabe es
que realice 1 cambios numéricos | ;i li»<> que está al alcana' de cual-
quier y más con la ayuda que os
pies la remos, ya que pensamos
seguir y explicar paso |m>i paso la
realización del programa.
Los ordenadores tienen la extra-
ña "manía" de utilizar cualquier
Ixise numérica para realizar sus
cálculos, ya sean en binario. oí tal.
licxadccimal, decimal o hasta en
coma flotante. Seguramente, si in-
troducimos cualquier número ro-
mano,como por ejemplo, MCD, por
mucha memoria que posea y por
muchos bits que tenga el micropo-
eesador, lo más i|ue clí íá será que
"No entiendo'*. Máquinas menos
pretenciosas a lo mejor se blo-
quean \ no se* obtienen resultados
algunos. Pero por el momento,
presentamos un programa (pie
permitirá real i /ai semejantes cam-
bios, tle Arabe a Romano y
Viceversa. Además será gratificante
ver como nuestro ordenador
"aprender" a manejarse con este
tipo ele número. Después de iodo,
los números romanos se ven en
lodas partes, monumentos nacio-
nales, en los índices de los libros,
ck .
De cualquier manera vamos a
tomar este programa como una
lección de programación y, aun-
que ¿lucia decirlo, como la primera
aproximación a las matemáticas.
El sistema numérico romano se
basa en siete letras que son: M. D,
C, L, X. V v I, (pie representan las
cantidades de 1.000. 500, 100, 50.
K). 5 v I. respectivamente. Pode-
mos comprobar que cualquier
número positivo tiene representa-
ción numérica en este sistema, qué
está en función de la posición que
24 MSX
las combinaciones posibles dentro
de la secuencia de dos letras
■
D
c
L
X
V
I
M
1000
500
100
50
10
5
1
D
0
0
100
50
10
5
1
C
800
300
100
50
10
5
1
L
0
0
0
0
10
5
1
X
0
0
80
30
10
5
1
V
0
0
0
0
0
0
1
1
0
0
0
0
8
3
1
Ahora aplicamos la tabla a una
secuencia de dos números cuales-
quiera, ({iie llama )V! nos a \ b. Para
rníonirai el valen del número. I)
precedido del número a. tendremos
(|ue observa i la intersección tic la
lila a y columna b. Kn la inter-
sección encontramos el número
(jiie sumaremos al valen linal. I .as
combitKK iones crióncas esián sc-
ñaladas < on el ().
Observa! como la V después tic
una I suma 3 \ no !>. Sin embargo,
debido a que la letra I siempre
suma I. según la tabla, el efecto
linal ile sinnai 8 es el mismo que
sumar 5 y restar I. Kn otras pala-
bras, IV = I + 3 = l. La tabla
también muestra este misino oferto
en variáis combinac iones.
gumía k'tici (C), buscaremos la
iniei sc( í i(>n lie la lila l) (letra
anterior) \ columna C. Kn la tabla
vemos un I00. que habrá cjue
sumarle) al valor obtenido ante-
riormente, obteniendo un total
panial (puesto ejuc tenia vía que-
dan por hallar dos valores) de !>(X)
+ l()() = ÍMM),
Kl leu el valól se obtiene de la
misma maneta que el aniel ioi . Neis
j)osi( ionaremos en la interseve iem
de la lila 1) eon la columna I.
sumaremos este valoi (I) a la < im-
lidad anteriot ((>00) \ obtendremos
olio valen pau ial que es (>()() + I =
(iOI. (¡on el'ierexi' níunerei proce
deremos de la misma forma queen
las aniel iotes ocasiones. Posií io-
nánclonos en la iniei se< ( ión de la
lila I eon la columna V obten-
(liemos un valor C|lie sumado a la
( iha anieriol seiá el valor total de
la transformación nuinérú a. csie es
que añadido a la cantidad ante-
rior daiá como resultado el valoi
dec imal del número IX1IV, siendo
este (X)l.
1.a tabla en sí no muestra todas
las combinaciones posibles de los
paies de letras válidos. lla\ que
ponei es pee ial aleñe ión en la
i ea lizac ion de esios pares, puesto
que nos podemos cncontrai en la
desagradable .situación de iio|x-
/arnos con una combinación que 1
aunque parezca válida, no lo es
tanto.
La operación de convei th míme-
los áiabes a su equivalente romano
es más sencilla. Kmpe/atemos d
cieudo que todo número decimal,
d. se puede expresar como la sums
de diversos valores del sistema ro-
mano. La fórmula siguiente es
aplicable* en todos los casos.
ocupa cada letra dentro de un
número.
En los siguientes sistemas numé-
ricos, las c antidades se anotaban de
i/ejuierda a derecba. según la mag-
nitud del número. Kl resultado
linal era la suma de los valores
independientes ele las letras.
Kl moderno sistema numérico
romano, permite la combinación
de dos letras cuyas magnitudes
estén intercambiadas. Kn estos ca-
sos, la (ilra más pequeña del par
intercambiado, se resta en lugar ele
sumarlo. Por ejemplo: \\IY = 10
+ l() _ | + 5 = 21.
Sólo se permiten intercambiar
seis parejas que son: IV, IX,
XL. XC. Cl) y CM. por cada par
invertido, el segundo miembro ha
de ser 5 ó 10 vece s mayor qiie el
primero. De esta íorma. IM, no
sería la representación válida del
número 999. ya que M es 1.000
veces mayor que I .
Kxiten dos reglas que no permi-
ten abusar de las magnitudes inver-
tidas. La primera es que el número
que precede al pai sea mayor que el
segundo miembro del par. Como
resultado de aplicai esta regla,
números como MDM y DDM no
son txTin ¡tidos. Kn segundo lugar,
el número que precede el par ha de
ser más |xqucño que el primer
miembro de la pareja. Por este'
motivo, un número como CDC no
está permitido.
Kn el sistema jiuméric o romano,
las letras se pueden utilizar tres
veces consecutivas. Por ejemplo,
XXXX no es una representación
válida del número 40; en su lugar
se ha de utilizar la expresión XL.
Como es normal, cada regla tiene
su excepción y en este caso no iba a
set menos; la M se puede utilizar
tantas veces como sea necesario.
Procedimiento de la conver-
sión
Debido a que la situación de la
letra es c rítica dentro del contexto
de un número al determinar su
valor, comenzaremos explic ando la
siguiente tabla, que muestra todas
rero veamos como se realiza una
conversión más compleja, para
la ciial lomaremos el número
DGIV. Cuando evaluamos la pri-
mera letra tendremos en (tienta
que es la primera, poi lo que no
tendrá lena que le preceda. De
manera que el valor inicial es el
ecpiivalente de esa lena, en este
<aso. 500.
Para obtener el valoi de la se-
d = a*M + b*CM + (*1) + d*CD
+e # C+ l*XC + g*L+ h*XL + i*X
+ j*IX + k*Y + l*IY + m*I
donde las letras a. b m. repre-
sentan números decimales positi-
vos. De esta forma para convertir
números árabes a romanos, sola-
mente tendremos que encontrar los
factores de cada elemento (M, CM,
MSX 25
5 REM Conversiones Numéricas
18 DIM T<7,7) ,L<7) ,F(13) ,FC*(13)
20 FÜR TR = 1 TO 7
30 FOR TC = 1 TO 7
40 READ T (TR ,TC)
50 NEXT TC
60 NEXT TR
70 DATA 1000,500,100,50,10,5,1
80 DATA 0,0,100,50,10,5,1
90 DATA 800,300,100,50,10,5,1
100 DATA 0,0,0,0,10,5,1
110 DATA 0,0,80,30,10,5,1
120 DATA 0,0,0,0,0,0,1
130 DATA 0,0,0,0,8,3,1
140 FOR TC = 1 TO 7
150 READ L(TC)
160 NEXT TC
170 DATA 4, 3, 3, 2, 2, 1 , 1
180 FOR N = 1 TO 13
190 READ F <N)
200 NEXT N
210 FOR N - 1 TO 13
220 READ FC*<N)
230 NEXT N
240 DATA 1000,900,500,400,100,90,50,40,10,9,5,4,1
250 DATA M,CM,D,CD,C,XC,L,XL,X ,IX ,V,IV,I
260 C*="MDCL.XVI "
270 CLS
280 PRINT "NUMEROS ROMANOS
290 PRINT
300 PRINT "Elige una opción:"
310 PRINT " 1- Número romano a árabe"
320 PRINT " 2- Número árabe a romano"
330 PRINT " 3- Salir del programa"
340 S=0
350 INPLIT "Introduce 1,2 o 3" ;S
360 IF S<1 OR S>3 THEN 290
370 IF S=3 THEN END
380 ÜN S GOSUB 620,400
390 GOTO 290
400 N*=" "
410 PRINT
420 PRINT "Introduce el número o ' RETURN ' para
430 PRINT "cancelar."
440 INPUT N$
450 IF N*="" THEN RETURN
460 N=VAL<N*)
470 IF NO0 OR N INI (N) THEN 590
480 R$=""
490 FL.= 1
500 NT=N-F(FL)
510 IF NT<0 THEN 550
520 R*=R*+FCÍ ( FL )
530 N=NT
540 BOTO 500
26 MSX
550 FL=FL+1
560 IF FL<=13 THEN 500
578 PRINT R$-
580 GDTÜ 400
590 PRINT "Ese número no se puede convertir"
600 PRINT "Introduce números positivos"
610 GOTD 400
620 N*=""
630 PRINT
640 PRINT "Introduce el número o RETURN para"
650 PRINT "cancelar."
660 INPUT N*
670 IF N*="" THEN RETURN
680 TL=0
690 F=0
700 PL=4
710 PC=1
720 0C=1
730 D=l
740 RC=0
750 F$=MID*<N*,D,1)
760 CC=INSTR(1 ,C*,F*)
770 IF CC=0 THEN 1010
780 CL=L(CC)
790 IF CCOPC THEN RC=1
800 IF CC=PC THEN RC=RC+1
810 IF RC>3 AND CCOl THEN 1040
820 IF F=l AND CL>=PL THEN 1060
830 V=T(PC,CC)
840 IF V=0 THEN 1060
850 TL=TL+V
860 IF CC>=PC THEN 910
870 IF L(OCX=PL THEN 1060
880 F=l
890 CL=L(PC)
900 GOTO 920
910 F=0
920 PL=CL
930 OC=PC
940 PC=CC
950 D=D+1
960 IF D>LEN(N$) THEN 980
970 GOTO 750
980 PRINT TL
990 GOTO 620
1000 PRINT "Carácter inválido: ' " ?F# j M "'
1010 PRINT "Utiliza solamente < M , D , C , L , X , V , I )
1020 GOTO 620
1030 PRINT "Demasiados ";F*;". El máximo es 3
1040 GOTO 620
1050 PRINT "Secuencia de caracteres inválida"
1060 PRINT N*
1070 PRINT SPC(D-l);" "
1080 GOTO620
etc). La mejor forma de entender
los pasos es ilustrándolos con el
siguiente ejemplo, donde vamos a
transformar el número 3426.
Factores numéricos
Número romano
acumulado
3426 - M = 2426
M
2426 - M = 1426
MM
1426 - M = 426
MMM
426 - CD = 26
MMMCD
26 - X = 16
MMMCDX
16 - X = 6
MMMCDXX
6 - V = 1
MMMCDXXV
1-1-0
MMMCDXXVI
Al final do la npenu ion. toiul ro-
mos el resultado do la oonvei sión
que nos indic a *l2rt=ñ\IMM( BXX\ r I.
Observaciones sobre el pro-
grama Basic
Esto programa está escrito on ol
R \sl( do Mii ro.soft. lo cjuo quiero
docii que funcionará en iodos los
ordenadores cjno |x>sean esta ver*
sión del BASIC.
11 pi ¡mol bloque do líneas, de la
lo hasta la 2(>0. preparan las dis-
tintas variables que se utilizarán a
lo largo del programa, Estas son T
(7.7) que os la labia do la sec noticia
ilo los números romanos. [, (7)
almacena el orden do maguí l tul do
( ada número romano. El orden 1
indica los millares (M), orden :> Lis
( enienas ( I). C). orden 2 las de< enas
(L. X) \ orden I las unidades (\\ I).
l.,i \ ci i ¡aillo V ( 18), almacena los
trece factores de la conversión,
vistos en el ejemplo anteriot \ VCS
l I ahiKM ena el número romano
( oí respondiente a < ada laetoi .
El siguiente bloque está fot mado
poi las líneas que presentan ol
menú en la pantalla N son las
líneas 270 a la $90,
Conversión árabe a romano
A < oiltinuat ion cunamos una de
las ojK iones de convesjón. La pri-
mera que aparece es la de pasai
números áiabes a romanos. En la
línea 470 se comprueba que el
numero introducido sea posi-
n\o. do ser así se ejecutarían las
28 MSX
líneas 180 a 580 que son las que
llevan a cabo la operación.
La variable RS suma a su cadena
un nuevo íaeioi (ada ve/ que res-
tamos del número árabe, la letra
correspondiente se añade a esa
cadena. Poi ejemplo, si FL =2.
entornes 1(11.) =500} poi consi-
guiente E($(FL) = *IV\
La línea 500 resta un factor del
número que i\stainos com ¡rtiendo,
(jue es N. almacenando ol resul-
tado en la variable NT. Si NT es
menos que 0. entonces el factor
utilizado es demasiado grande y en
la línea 550 se incrementará ol
índice para acccdei al siguiente
factor. Recordar que cuanto más
grande sea el índice EL, menoi será
el valoi del fa< tot EC '${ FL).
Esto proceso se ieali/ará hasta
quo los 13 lac toros se hayan pro-
liado. A estas alturas, R$ contendrá
el vatoi final en números romanos.
La línea 570 imprimirá su valor \
la .">80 obligará al programa a
ejecuta! osla rutina nuevamente,
que le pedirá cjiie introduzca Otro
número árabe.
Los etTorés que podamos eome-
lei al introduoil el valoi . se con-
templan en las líneas 590 ,i (i|0.
estas mostrarán un mensaje, para
notificai elerroi \ volvení a jx'dirle
qito introduzca otro número.
Con versión romano a árabe
Las líneas Ii20 a la 710. ieali/an
la laboi ele conven i l un número
romano a do< ¡mal.
La variable FLalmacenael total
paicial del valor numérico de las
lenas. F indica si la letra leída
anteriormente formaba parte de un
pai invenido o no.
La variable PL es el orden de
magnitud de la letra anterior y PC
es el número de la columna deesa
letra, siendo M la columna 1. D la
columna 2. etc . Las variables CC y
CL de las líneas 700 y 780 alma-
cenan la información correspon-
diente sobre la letra que se está
tratando en ese momento. Al eva-
luar la primera lena de esta com-
binación, es obvio que no existirá
algún valor previo, correspondien-
te a las variables PC y OC. Sin
embargo, como la estructura del
programa está dispuesta para eva-
luar estas dos variables, actuare-
mos como si las dos lenas leídas
anteriormente fueran M.
No podía faltar un puntero, esto
controla la letra cpie estamos utí-
li/anclc) en ese momento.
Para comprobar que la letras
Utilizadas no sobrepasen el límite
de 8, existe un contador encargado
de realizar esa función, este es RC.
Si su contenido excede del límite. 8
en este caso, el número romano
será inválido (excepción hecha con
la lena M ). Las líneas 760 \ 770
aseguran que la letra sea una de las
7 permitidas, mientras cine la línea
780 almacena el orden de la mag-
nitud de la c i lia que contiene CL.
Fl bloque formado por las líneas
790 a 810. evitan que aparezcan
más de 8 lenas iguales dentro del
valoi de un número, mientras que
la línea siguiente (820) refuerza lo
que liemos dicho anteriormente
acerc a de que el número siguiente
al pár ha de ser menor que el
pi imci miembro de este.
F = 1 indica que la lena anterior
forma parte del número invertido.
En este caso, la primera letra ten-
drá que ser de menor magnitud
que el primer miembro del par.
Las líneas 830 a 8f)0 hacen refe-
rencia de la tabla indicada al prin-
cipio, en la que se determina el
resultado de la conversión de PC a
CC. De este bloque destac aremos la
línea 840, encargada de detectar
las secuencias inválidas para, en
caso de que ocurra, salte a otra
rutina (línea 1050) que maneja
» los errores. Si la secuencia es co-
rrecta, la línea 850. se encargará de
sumar los valores de los números
romanos, almacenados en la varia-
ble V, al total final, cuya variable
es TL.
El comprobar si la combinac ión
de pares invertidos es la correcta es
la función del bloque formado por
las líneas 860a 910. Si el valor de la
cifra que estamos conviniendo, es
menor o igual que* la lena anterior,
entonces no leñemos pares inver-
tidos. La comparación de C!C >=
PC realiza esta función. Si CC
< PC!, entonces leñemos pares in-
venidos. Las líneas 870 a 900 com-
prueban las secuencias inválidas,
como puede ser DDM. Las varia-
bles que actualizan la magnitud
del rara* Id anu í ior PI el carácter
antiguo OC \ el canutei anterioi
PC, son las correspondientes a las
líneas 92(1 a »J0. No confumln el
«ilor de la magnitud del carácter,
con el carácter en sí.
Finalizando, tenemos el bloque
formado por las líneas 950 a 990
que continúan el proceso hasta
que no queda número alguno que
convertir, y la rutina que detecta
los valores erróneos de las canti-
dades introducidas en la opción de
los números romanos, estas líneas
(1000 a la 1080) imprimen el men-
saje correspondiente.
Ejecutado el programa, es fácil
seguirle los pasos, especialmente si
mientras tecleaba las instrucciones
leía esta explicación. Pañi com-
probat el correcto funcionamiento
del programa, lo mejoi es ¡niro-
du< ir un número en cualquiera cic-
las dos ojx iones \ una vea obtenido
el resultado, introducirlo con la
ojx i(')n inversa. Si el resultado es el
mismo, el programa está bien, de
lo contrario habrá que repasai
línea a línea hasta cncontrai el
error.
SUSCRIBASE
POR TELEFONO
* más fácil,
* más cómodo,
* más rápido
Telf. (91) 733 79 69
7 días por semana, 24 ñoras a su servicio
SUSCRIBASE A
DOS , sistema
Que un ordenador personal posea
características típicas de los
mainframe no es extraño, al fin y al
cabo, muchos fabricantes quieren
convertir sus pequeñas máquinas en
el segundo equipo de ordenadores
de más talla y MSX, no iba a ser
menos. Para ello ha creído
conveniente introducir en sus
ordenadores un sistema operativo
que le haga compatible, no sólo con
el resto de los ordenadores MSX,
sino con los grandes ordenadores
que tengan este sistema operativo,
de esa forma, el que tenga en su
oficina un ordenador grande con un
MS-DOS, puede llegar a casa y
"conectarse" al "pequeño" y
continuar con la tranquilidad propia
de saber que se está en casa.
El DOS del MSX se anunció en
octubre de 1983. como sistema ope-
rativo para microprocesadores de 8
l)iis. ;Qué es un sistema operativo?
Se puede decir, que es un progra-
ma O una colección de programas
que permiten un aprovechamiento
máximo de las características del
ordenador. Tiene múltiples futí-
operativo de verdad
( iones, entre las que podemos < ¡tai
la de controlar la entrada y salida
de información o lleva] a i abo la
conexión con los distintos periféri-
( < >s. \.« que, < uando nosotros i o-
nectamos cualquiei aparato al or-
denador, no observamos nada ex-
traño* l )(,,(> s ' ,1()s limitamos a
estudia] el comportamiento inter-
no de la máquina, veremos como
es detectado este nuevo periférico
añadido o como reparce el ordena-
do! nuestro programa poi la me-
moria del aparato. En suma, este
conjunto de programas permite
aprovecha! al máximo las ¡ >< >^ í 1 > i -
lidades del ordenador.
En este artí< tilo, no pretenden* >s
profundiza] en las < ara< leí ísi ú .is
de este sistema operativo, sinoacer-
(.11 más al usuario del MSX .1 una
característica que sólo poseen los
ordenadores grandes. Normalmen-
te, la sitúa* ión I ísii «i del sistema
operativo, no es siempre l.i misma.
P01 situación física, queremos de-
i i) . que puede o( up;n ( ualqiliei
pai te de la memoi i.», no un lugai
específico. Esta se puede dividí] en
una o dos partes, que pueden sei
residente en el sistema (< uando está
iiH orporado dentro de un ( 1 1 i ¡ > . de
forma que < uando encendemos el
orden, ido) , automáticamente se po-
ne en man ha \ o se puede ( argai .1
partir de disco. En el prima caso,
estará almacenada en memoria
ROM (Read Only MemoryMemo-
1 ia Solo I .( ( una ). de manera que
nunca se pierda \ en el segundo
caso, tendremos que cargai del
dist ( > el sistema < operativo < .ida vez
que ( one< temos el aparato.
1 n cualquiera de los d< >s 1 asos,
lo i'iiik o que nos interesa poi el
momento, es el juego de instruc-
ciones \ el efe* 10 que tienen sobre
nosotros.
Para hacemos una idea de la
importan* ia que nene el DOS den-
no del < ontextode los ordenadores,
pensemos en la íunc ión que reali/a
un controlado] aéreo en un aero-
puerto. Estos son los encargados de
optimizai v ( onjuntai la cunada \
salida de aviones, pnxHirando no
retrasa] los vuelos ni creai colas de
espera. Para ello disponen de iodos
los elementos necesarios para esta]
informados al segundo de lo que
o( ui re ( "ii los \ uclos, \a sean
na< tonales o intei na< ionales.
1 I MSX no es un aeropuerto,
aunque poco le [alta, pero ti** de
esta] informado de iodo lo que
ixin re en su inter ioi . pues nosotros
seremos los benel i( iad< >s o perjudi-
( ad( >S;
I iiioiu es ;< uál es su 1 U1K LÓll?
1 ornando al MSX COUIO ejemplo,
observaremos que el IK)S es el
( o] a/on que controla ( iertas panes
del sistema. Estas pueden sel desde
los VIH (chips del display) hasta
el teclado, pasando poi los el i s<
drives o poi las impresoras. Sumi-
nistra la información necesaria a
estos aparatos para que cada uno
realice su función a su debido
tiempo. P01 ejemplo, cuando car-
gamos un programa, el ordenador
prepara la memoria RAM con ins-
trucciones paia qué ese programa
se pueda lepalir en las diversas
zonas de la memoria, organizando
\ ejecutándolo según las instru-
cciones. He la misma forma, exp-
íen comandos e instruo iones que
controlan los di< s di i ves, el a< ( eso
.1 ellos \ la distribu* ión de la
información dentó de las pisias.
COMPATIBILIDADES
I .as tutu iones que hemos relata-
do anteriormente son parte de las
"obliga* iones" de un sistema ope-
rativo. Pero estos no son. en la
mayoría de los (asos. compatibles
ni universales. Para que existiera
una compatibilidad entre sistemas
operativos, ya sea en ordenadores
peí son. des o en "mainframes \ se-
dearon el CP M v el MS-DOS.
cuyo objetivo era la de diseña] )
eje* utai programas para oulenado-
res de distintas marcas. De cual-
quier manera y en algunos casos,
encontraremos algún "ingeniero"
dispueto a retocar el CP/M adqui-
rido en una tienda para que pueda
ejecutarlo en su ordenador. Entre
las múltiples funciones que realiza
él DOS, podemos destacar el acceso
a cualquier fichero, ordenarlo, in-
tercambiarlo, pero a lo mejor no
podrá ser ejecutado y aunque se
anun< ja la existencia de un están-
dar, dentro de los sistemas operati-
vos, todavía HO está garantizada.
Para poder entender correcta-
mente la lunción del DOS, veamos
primeramente, como funciona el
MS-DOS. padre del MSX-DOS
El MS-DOS lo diseñó Microsoft
del cuál también partió la idea del
MSX y consiste de una serie de
programas. Este sistema operativo
fue diseñado con el IBM-PC in
mente y consta de cuatro partes o
paquetes principales, preparados
especialmente para ejecutar en
( ualquier sistema con disco, va sen
flopy o Winchester. Estas partes
son:
BOOT- Este programa permite
la autoejecución del sistema, car-
gando el MS-DOS desde el disco.
DOS.COM- Programa c lave,
puesto que es el organizador de
todo el sistema de disco.
BIO.COM- Prepara una zona
física de trabajo pata un determi-
nado diskette.
COMMAND.COM- Interpreta \
procesa las instrucc iones de entra-
da \ salida.
Este último es el responsable de
'traducir" los comandos introdu-
( idos por el usuario, que pueden
ser internos o externos. Las instru-
se internos oexlcrncxl. Las instruí -
( iones internas están incorporadas
al sistema \ permiten borrar, cam-
bín de nombre, copiar ficheros,
etc. mientras que las instrucciones
externas se pueden cargar desde
disco. Estos comandos se utilizan
paia caigar programas, introducir
la fecha, forma tear discos, etc. a-
demás de todas las utilidades aña-
didas por el usuario.
FORMATO DE DISCOS
Toda información, sean datos o
programas, grabados en disco reci-
ben la denominación de fichero.
Estos se almacenan con un nombre
que el usuario les da y tienen la
posibilidad de poderse borrar o
alterar, gracias a la colaboración
del DOS.
El sistema operativo en disco
(DOS-Disk Operating Sys-
tem), es, como podemos compro-
bar, el centro neurálgico de un
ordenador, de cualquier ordena-
dor, y en la mayoría de los casos,
compatibles con otros ordenadores
con el mismo DOS. La compatibi-
lidad absoluta todavía es casi im-
posible, parte de la culpa la tienen
los fabricantes de diskettes, cuyos
formatos no lo permiten. Los for-
matos de los discos se refieren a la
estructura interna del soporte. Si
nos paseamos por el mercado de
los diskettes, podremos comprobar
Un sistema
operativo es una
colección de
programas que
permiten
aprovechar al
máximo las
características del
ordenador.
que existen c ientos de marcas, con
cientos de formatos, poniendo
punto final a la compatibilidad de
un equipo.
El problema más complicado
estaba resuelto, que los fabricantes
se pusieran de ac uerdo en preparar
un estándar, pero no así la forma
de almacenamiento de la informa-
ción. Pero no todo está perdido. los
programas se podrán ejecutar en
diversos ordenadores, sólo que a la
hora de grabarlos habrá que confi-
gurar el programa.
Aunque para hablar sobre los
formatos de estos discos, hay que
conocer la organizac ión interna del
dispositivo. Este tiene una serie de
pistas que pueden ser 40 u 80, cada
una de las cuales está dividida en
sectores. Un formato muy típico de
un diskette es que posea 40 pistas
con 16 sectores por pista, la infor-
mac ion se graba en 512 bytes por
sector en formato de doble densi-
dad, donde la primera pista de un
disco (pista 0) contiene toda la
informac ión posible acerca de su
contenido! siendo un punto de
referencia para el sistema. El sec tor
1 de la pista 1 contiene la informa-
( ion del registro que arranca el
sistema v los dos sec tores siguientes
contienen la tabla de dirección de
los ficheros. Esta tabla indica al
DOS si un sector se utiliza o no, es
un puntero que marca la dirección
del siguiente sector. En los sectores
4 a 7 de la pista 0, encontraremos el
directorio, que es un índic e de los
ficheros y contiene la dirección de
los bloques de datos existentes en
el diskette. Sin embargo, el usuario
no tiene porque preocuparse de
toda esta información, que es mi-
sió
sión del sistema operativo. Este de-
be organizar la información física
para que de esa forma, sea el
usuario el que se preocupe de
preparar la información lógica.
32 MSX
Esto que acabamos de describir,
es el formato de un diskette de un
ordenador IBM, algo distimo al
MSX-DOS que utilizan estos orde-
nadores. Los comandos usados por
el sistema operativo son distintos
aunque tengan el mismo nombre.
Por ejemplo, para borrar un fiche-
ro de un diskette, el usuario tendrá
que teclear instrucciones como
DELETEo ERASE Teniendo co-
nocimientos de inglés, podrá dia-
logar con el ordenador, al tener las
instrucciones el mismo nombre
que la función que ba de realizar.
Habiendo hecho todos estos co-
mentarios <i( en a del MS-DOS. en-
tonces nos preguntaremos, ¿dónde
situamos el MSX-DOS? ¿vs están-
dar? La información acerca del
MSX-DOS, está ahí y todo lo que
se pueda añadir está en función de
Microsoft y de los fabricantes del
MSX, aunque todas las bazas no se
han jugado todavía.
La idea del MSX-DOS, es un
ambicioso plan que agrupa a todos
estos ordenadores, que consiste en
la posibilidad de que todos fun-
cionen con el DOS, basado en el
formato MS-DOS y que permitirá
el intercambio de la información
entre procesadores de 8 y 16 bits,
convirtiendo, así el estándar MSX
en un compatible de "mainfra-
mes" que tengan un sistema opera-
tivo MS-DOS .Esto permitirá un
acceso a todos los posibles lengua-
jes de programación de Microsoft.
Si recorriéramos el catálogo del
usuario del MSX-DOS tendríamos
la impresión de estar hojeando el
catálogo del MS-DOS. Además ini-
ciarse en esta configuración es
igual para todos los equipos, in-
troduciremos la fec ha, al igual que
en el MS-DOS, y se nos preguntará
por los drives A B cuando llegue el
c aso. Por más que veamos caracte-
rísticas de este sistema operativo,
no hay que pensar nunca de que
estamos trabajando con el MS-
DOS.
Es muy fácil pensar que los
distintos diskettes de diversos fa-
bricantes puedan ser compatibles,
pero hasta el momento, el único
estánda] que se asume, es el diske-
tte de* 3.5 pulgadas de Sony, aun-
que fabricantes como Hitachi, tie-
nen puestas sus miras en su diske-
tte, que claro está es de distinto
tamaño que el anterioi y tiene sus
propias ( a rae te i ístie as.
El DOS es para el
MSX como los
controladores
aéreos lo son para
nosotros,
elementos
indispensables
para una buena
circulación.
En realidad, con la variedad de
tamaños existentes, desde el 3.5
hasta el de 8 pulgadas, parece
difícil una coordinación para ob-
tener una medida en común. Por lo
que se ve, cada fabricante se dedi-
cará a ofrecer su producto. Esto
motivó que Speetra video lanzara al
mercado un diskette de 5.25 pulga-
das, mientras Sony seguirá con el
de 3.5. Microsot por su parte, no
pone reparos a la hora de elegir el
tamaño idóneo, esto es el punto
negativo de esta estandarización.
que obliga al usuario a buscar las
distintas posibilidades dentro de
un mercado que cada vez se está
ampliando más. La respuesta a
semejante problema está en manos
de los fabricantes. Tendremos que
esperar y ver que dirección van a
tomar los acontecimientos.
¿Qué otras posibilidades ofrece
el MSX? La guía del usuario expo-
ne los siguientes comando, a los
que dedic aremos un artículo el mes
que viene.
BIX) Al)
LOAD
fcSAVK
LSM
CL< KSK
RSI I
COPV
MKRGt
DSkO
NAMt
1 11 1.1)
bPKN
lilis
RUIN 1#
FORMA 1
l S|\(,
(.11
Pli I
KfU,
R l \
IJNK
S A\ 1
INPI I #
SYS 11 M
La mayoría de- e stos comalidos
son |XTm¡IÍdo.N (II easi lodos los
ordenadores, unificando más la
(liveisifie ae ¡6n ele ( rilei ios \dr
mas existen unos patámciios .i
seguii |)oi ¡os fabricantes de sol-
Uvaii' ejue han ele e umplii . ( « »n
eslos | XI I ¿i mellos \ elalos (étnicos
los más e\|>eiimeniacle>s podían
mcxliricai algunas canw'icrí.viiciis
de l MS-DOS.
Onos punios cjíic todavía no
esián claros hacen referencia a la
cantidad ele lie lu ios que se pueden
almacena) en un diskette.
De lo esleimos seguios, es ele que
las espee i I ie ae iones aceie a de la
compatibilidad de los diskettes no
están nada e tara. De e ualquiei
manera, el MSX-DOS están empe-
zando a e ice vi \ hasla ejue llegue a
su mcjoi momento tendrán que
pa sa i algún tiempo, estaremos
|X'ndientes de los fabricantes \
aucjnue este>s se dediquen a labri-
caí su diskette tendremos sistema
o)XTativo para rato, por le> menos
el DOS seguirá siendo la mejoi
opcieni. □
MSX 33
Dados
( oniM ¿que no habéis traído los
liados? Si , ilgun; i viv h<is Icnido
este problema \ t i tenéis solución.
( a mví ta el Ms\ \ eje< mil ( sic
sen* ¡lio programa <|ih h;mi las
\< ( es de dado. Este .i|>.ur< era una
vez poi cada lado de la pantalla al
pulsai l<i barra espa< ¡adora.
1 1 dad< > está fot iiiaiK » i >< >i sj >i ites
ilc I (i \ I (i pixcls ii< tímales, de ello
se encarga la instrucción SC.REEN
tle la linea 20. A mi ve/, en ella
del in irnos el eoloi del sprites ,isí
< < >ni( > el del lond< >.
I I programa no tiene más hin-
c ion que in< >-»i i .n l,i ( rea< ion \ el
movimiento de un gráfico genera-
do |>(» este BASIC. Sería muy útil
|)<n<i el leí ioi . reto* ai un poco el
programa para que en lugai de
m< >nii,ii un d.id< >. fueran dos. aña-
diendo además algo más ,d sonido
que liene.
LOS JUEGOS ELECTRONICOS
34 MSX
liZi REM ** DADOS**
2i3 CLSrSCREEN 2 ,2 : COLOR 11,1,1
30 OPEN "grp:" FOR OUTPUT AS #1
40 PRESET(90,10) :PRINT #1,"* DADOS *"
50 CLOSE #1 :KEY OFF
60 DIM A* (4) ,X (16) ,Y (16)
70 D*=STRING*<32,255>
80 MID*(D*,1 , 1)=CHR$(127)
90 MID$(D$,16,1)=CHR*<127>
100 M1D*<D*,17,1)=CHR*<254>
110 MID*<D*,32,1)«CHR*(254)
120 SPRITE* (6) =D*
130 FOR 1=0 TO 4:F0R J=l TO SsREAD D*
140 A*<I>=A*(I>+CHR*<VAL<"&h"+D$) )
150 NEXT :NEXT
160 FOR 1=0 TO 5:D*=CHR*<0>
170 FOR J=0 TO 5:READ D
180 IF J=3 THEN D*=D*+CHR$ (0)
190 D*=D*+A*(D)
200 NEXT:SPRITE*(I)=D*
210 NEXT
220 FOR 1=0 TO 8 STEP .5
230 X( 1*2) =1*25
240 Y (1*2) =5*1* 1-30*1 +7!=i
250 NEXT
260 S=0:D=1
270 A=50
280 FOR 1=0 TO 16
290 N= I NT < RND ( -T I ME ) *6 )
300 IF N=0 THEN C=8 ELSE C=l
310 A*="116t250n"+STR*(A) :A=A-1
320 PLAY A$
330 PUT SPRITE 0 , (S+D*X (I) ,Y(D) ,C,N
340 PUT SPRITE 1 , (S+D*X (I) ,Y(I)) ,15,6
350 FOR J=0 Tü 36:NEXT
360 NEXT
370 D*=INKEY*:IF D*="" THEN 370
380 D=-1*D:S=S XOR 255: GOTO 270
390 REM Generación del dado
400 DATA 0,0,0,0,0,1,3,3,1,0
410 DATA 80,c0,c0,80,0,30,78
420 DATA 78,30,0,c ,le,le,c ,0
430 DATA 0,1,0,0,2,0,3,0,0,0,0,4
440 DATA 3,1,0,0,2,4,3,0,3,4,0,4
450 DATA 3,1,3,4,2,4,3,3,3,4,4,4
Coches locos
LOS JUEGOS ELECTRONICOS
36 MSX
Ciomi dentro de un circuí lo es
iilgo que no se ha< e iodos los días,
sin embargo, cotí un MSX, no sólo
correrá el ccxhc sino que laminen
lo hará la iniag¡na< ion,
Con este programa comprobarás
tus reflejos, esquivando el
roche que le pi escullirá poi lodos
los rincones del circuito hasta ha-
certe estrellar. IV paso, mientras
( 01 íes poi el circuito, dedícale a
comerte los punios que aparejan
a lo largo del camino. Veamos la
realización de este programa.
Kl programa está estructurado
en (> l)lo<]ues cuyas misiones son
las siguientes. I as líneas 10 a :> 10
son las encargadas de inicial i/ai la
pantalla, ilibujai el < irctiíto) pone
los contadores de los coches que
nos quedan así como el recoul del
m< tinento.
Seguidamente, coinien/a el blo-
que formado poi las líneas S30
hasta la 10 10. donde se con trola el
c(xhe \ se coinpriieha sí hemos
lee olí ido el ( n< UltO CUtCIO.
Las líneas 1090 hasta la I2ÍK) se
ejecutan cuando ha (mali/ado el
recorrido con éxito \ le dan la
opción de jugai nuevamente. Kl
Moque siguiente, formado (x>t las
líneas 1.100 a la 1610, son las
encargadas de creai los nxhc.s
orientados ha< ¡a los < nafro punios
cardinales. Poi ultimo. queda la
parte más elemental, la creación
del < i IX llíto. l'sle se reali/a meilian-
le st nieiK ias dalas, donde eslán los
diversos valores de lóelas las ( or-
denadas a lenei en c lienta.
10 REM Coches Locos
20 REM Inicializ ación
30 SCREEN 2,2: COLOR 15,1,1
40 KEY OFF: WIDTH 30: CLS
50 CLEAR 400,&HDFFF
60 DIM C(23,22)
70 SC=^0: HS=0: ST=0
80 ON SPRITE GOSUB 1180
90 GOSUB 1300
100 OPEN "grp : " AS #1
110 DRAW n tam60,60 M
120 PRINT #Í,"Un momento..."
130 CLOSE #1
140 GOSUB 1620
150 CA^3 : FU=1000
160 IF SOHS THEN HS-SC
170 SC=0
180 X=21 : Y=l 1 : F=3
190 TX = 1 : TY = 1 : TF = 1
200 OPEN "grp AS #1
210 DRAW ,t bml98,25 n
220 PRINT#1 /'Coches"
230 DRAW "bií.208,45"
240 PRINT #1 /'Locos"
250 L1NE (220, 120) -(250, 130) ,1 ,BF
260 DRAW "bm 195, 120"
270 PRINT #1 , "coches" ;CA
280 DRAW "bm 195, 150"
290 PRINT #1, "Record"
300 DRAW "bm 195, 165"
310 PRINT #1 ," " -HS
320 CLOSE #1
330 PUT SPRITE 1 , (236 ,89) ,4 ,3
340 PUT SPRITE 2, (13,9) ,7,1
350 K*=INKEY*:IF K*= n " THEN 350
360 FOR J»228 10 171 STEP -ti
370 FÜR 1=1 Tü 50SNEXT I
380 PUT SPR1TE 1 , ( J ,89) ,4 ,3
390 NEXT J
400 SPRitÉ ÜN
410 KK=STICK<ST)
420 IF C(X,Y)>0 THEN 470
430 C < X , Y ) = L : SC«SC+ 1 0 : FG=MF B+ 1
440 SX = X*8+li8: SY=Y*8+10
450 LINE(SX ,SY>-<SX+2,SY+2) ,1,BF
460 IF FG=F X THEN 1060
470 IF KK-0 THEN 630
480 IF KK»3 THEN RX-~X + 1 :RY~Y :RF=1
490 IF KK=5 THEN RY*Y+1 :RX«X sRF«2
500 IF KK=7 THEN RX = X- 1 :RY = Y :RF=3
510 IF KK=1 THEN RY = Y - 1 :RX = X :RF=4
520 D=C(RX ,RY)
530 RRF=RF+2 : IF RRF >4 THEN RRF=RRF-4
540 IF F-RF QR F=RRF THEN 630
550 I F C (X , Y) < >2 THEN 620
560 IF D=9 THEN 630
570 IF RF=1 THEN RX s =X+2
580 IF RF=2 THEN RY«Y+2
590 IF RF=3 THEN RX=X-2
600 IF RF=4 THEN RY=Y-2
610 GOTO 730
620 IF Ü<>9 THEN F*RFí GOTO 730
630 IF F«l THEN RX=X+1:RY=Y
640 IF F=2 THEN RY=Y+1:RX=X
650 IF F=3 THEN RX=X~1 :RY=Y
660 IF F=4 THEN RY=Y-1 :RX=X
670 D=C (RX ,RY)
680 IF D<9 THEN 730
690 FU-FU- 10
700 F=F+1
710 IF F>4 THEN F=F- 4
720 GOTO 810
730 IF D<4 OR D>6 THEN 790
740 ON D-3 GOTO 750,770,780
750 Y = 13:IF RNDdX.5 THEN Y=9
760 X=15:F=3:G0T0 800
770 Y=13sG0T0 760
780 Y = 9: GOTO 760
790 X=RX:Y=RY
800 FU=FU-1
810 PUT SPRITE 1 , (X*8+4 , Y*8+1 ) ,4 ,F
820 IF C(TX,TY)<>3 THEN 860
830 TF=TF-1 : IF RNDdX.5 THEN TF = TF+2
840 IF TF<1 THEN TF=TF+4
850 IF TF>4 THEN TF=TF-4
860 IF TF=1 THEN XRX-TX+1 :YRY=TY
870 IF TF=2 THEN YRY-TY+1 :XRX as TX
880 IF TF=3 THEN XRX=TX-1 :YRY=TY
LOS JUEGOS ELECTRONICOS
38 MSX
890 IF TF=4 THEN YRY=TY-1 :XRX=TX
900 D=C < XRX , YRY )
910 IF D<9 THEN 960
920 TF=TF-1 : IF RND ( 1 ) < .5 THEN TF=TF+2
930 IF TF<1 THEN TF=TF+4
940 IF TF>4 THEN TF-TF -4
950 GOTO 1030
960 IF D<4 OR D>6 THEN 1020
970 ON D-3 GOTO 980,1000,1010
980 TY=13: IF RND (IX. 5 THEN TY=9
990 TX«15r TF=3: GOTO 1030
1000 TY=13: GOTO 990
1010 TY=9: GOTO 990
1020 TX=XRX : TY = YRY
1030 FUT SFRITE 2 , <TX*8+4 ,TY*8+1 ) ,7 ,TF
1040 GOTO 410
1050 LINE (40, 60)- (150,140) ,1 ,BF
1060 DRAW"BM40,70"
1070 OPEN"GRP: M AS #1
1080 PRINT #1," ENHORABUENA ! ! "
1090 SC=SC+FLI
1100 ÜRAW"BM50,85"
1110 PRINT #1 ,"Puntos=" ;SC
1120 DRAW"BM35,120"
1130 PRINT #1," Otra partida?"
1140 CLOSE #1
1150 K*=INKEY$: IF K*^"n" THEN END
1160 IF K$m»*» THEN CLS:GOTO 100
1170 GOTO 1150
1180 SPRITE OFF
1190 FOR J=l TO 10
1200 FOR 1=1 TO 4
1210 PUT SPRITE 1 , (X*8+4 ,Y*8+4) , J+I ,1
1220 FOR K=l TO 10: NEXT K
1230 NEXT I
1240 NEXT J
1250 CA=CA-1 : IF CA>-1 THEN 1290
1260 OPEN"GRP:" AS #1
1270 LINE (40 ,60) -( 150 , 140) ,1 ,BF
1280 GOTO 1090
1290 RETURN 180
1300 REM Sprites
1310 RESTORE 1420
1320 FOR J=l TO 4
1330 SP$=""
1340 FOR 1=1 TO 32
1350 READ Dí
1 360 D*=CHR$ ( VAL ( " 8<H " +D* ) )
1370 SP*=SP*+D*
1380 NEXT I
1390 SPRITE* <J>=SP*
1400 NEXT J
1410 REM Derecha
1420
1430
1440
1450
1460
1470
1480
1490
1500
1510
1520
1530
1540
1 550
1560
1570
1580
1590
1600
1610
1620
1630
1640
1650
1660
1670
1680
1690
1700
1710
1720
1730
1740
1750
1760
1770
1780
1790
1800
1810
1820
1830
1840
1850
1860
1870
1880
1890
1900
1910
1920
1930
DATA 00,00,00,00, lf ,lf ,06, 1-f
DATA 1-f ,lf ,06, lf ,1* ,00,00,00
DATA 00, 00, 00, 00, 00, 38, 10, fe
DATA ec ,-f c , 10 ,38 ,00 ,00 ,00 ,00
REM Abajo
DATA 00, 00, 00, Ib, Ib, 1-f ,1b, Ib
DATA 03, 03, 0b, 0e, 0b, 03, 00, 00
DATA 00,00,00,b0,b0,f 0,b0,b0
DATA 80,80,a0,e0,a0,80,00,00
REM Izquierda
DATA 00,00,00,00,00,1, ,08, 3f
DATA 37,3-f ,08,1c: ,00 . U0 ,00 ,00
DATA 00,00,00,00,-f^,f 8,20,f 8
DATA f 8,-f 8,20, f 8, + 8,00,00,00
REM Arriba
DATA 00, 00, 03, 0b, 0e, 0b ,03,03
DATA lb,lb,lf ,1b, Ib, 00, 00, 00
DATA 00,00,80,a0,e0,80,80,b0
DATA b0,b0,f0,b0,b0„00,00,00
RETURN
REM Lectura de Datos
RESTORE 1720
FOR J=0 TO 20
READ D*
FOR 1=0 TO 22
D=VAL(MID*<D*,I+1 ,1) )
C(I ,J)«D
NEXT
NEXT
REM
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
RESTORE 2050 :CLS
I
J
1 234567890 1 23456/890 1 23
99999999999999999999999
' 7
9 9999999911199999999 9
9 9 222 9 9
9 9 999999111999999 9 9
9 9 94 222 9 9 9
9 9 9999991119999 9 9 9
9 9 222 9 9 9
9 999999991119999 9 9 9
^3 222 59 9 9 9
9 999999991119999 9 9 9
93 222 222 313139
9 999911199999999 9 9 9
9 9 222 69 9 9 9
99 9911199999999 9 9 9
9 9 222 9 9 9
9 99991119999999999 9 9
9 9
9
9
93
9
9
99991 1 1999999999999
99999999999999999999999
LOS JUEGOS ELECTRONICOS
40 MSX
194®
1950
1960
1970
1980
1990
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
2310
2320
2330
2340
2350
2360
2370
2380
2390
2400
2410
2420
2430
2440
2450
READ D*
IF D*="-fin" THEN 2320
IF D*<>"P"THEN 2000
READ XI ,Y1 ,C1 ,K1
PAINT(X1 ,Y1) ,C1 ,K1
GOTQ 1940
READ XI ,Y1 ,X2,Y2,C
IF D*="L" THEN LINE
IF D*="B" THEN
IF D*="F H THEN
GOTO 1940
B ,8
LINE
LINE
<X1 ,Y1 )-(X2,Y2) ,
(XI ,Y1)-(X2,Y2) ,
(XI ,Y1)-(X2,Y2) ,
C
C ,B
C,BF
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DA TA
DATA
DATA
DATA
DATA
DATA
DATA
FX=0
FOR Js0
FOR 1=0
B
P
B
B
P
F
L
L.
L
L
L
L
L
L
L
L.
L
L
L
L
L
L
F
F
F
i
7 , 1 90
1 74 , 3
11 ,10,187,171 ,3
1 1 ,8,3,2
187,88,254,108,3
191 ,91 ,251 ,105,3
200,89,3,2
186,92 ,250,104,1
26,26,172,26,2
172,26,172,156,2
172,156,26,156,2
26,26,26,74,2
26,74,138,74,2
138,74,138,90,2
138,90,26,90,2
138,58,42,58,2
42,58,42,42,3
42,42,155,42,2
155,42,155,138,2
155,138,26,138,2
42,122,138,122,2
138,122,138,106,2
138,106,26,106,2
26,106,26.138,2
42,42,45,58,9
135,106,138,122,1
135,74,138,90,10
n
TO
TO
20
22
XX=I*8+10:YY=J*8+10
IF C(I,J)<>0 THEN 2400
DRAW"BM=XX ; ,=YY ;"
FX=FX+1
DRAWC8R1 "
IF C(I,.J)=0 OR C(I,J)>1 THEN 2430
LINE(XX-5,YY)-(XX+6,YY+8> ,1 ,BF
LINE (XX ,YY-5)-(XX+6,YY+8) ,1 ,BF
NEXT I
NEXT J
RETURN
El código
máquina:
desconocido
El código máquina o
ensamblador representa el
lenguaje propio de los
ordenadores. Rápido y potente
dispone de peculiares
características para cada
ordenador. Pese a las
dificultades que conlleva su
aprendizaje, resulta
imprescindible su
conocimiento para cualquier
aficionado a la informática.
Din, míe mucho tiempo 'los
usuarios de Ion ordenadores han
pensado que el códifto máquina
era un inven lo extraño que solo lo
sabían manejar los tres lóeos de
tumo cjil'C" andaban encerrados en
sus "cavernas" informal ¡cas. La
exnaña sucesión de números en
hcxadecimal o. en el mejoi de los
casos, de instruí ( iones del tipo
"I D A. •FF" ha< ían (pie la
|KTSOlia que lo veía se asustase
|Xiisancio que ex miñas órdenes se
encerrarían detrás de esos símbo-
los.
l-.s de iodos sabido que el
lenguaje máquina (o ensamblador)
es el más rápido, por esta razón los
juegos comerciales que invaden el
mercado están hechos en este
lenguaje. También es un pensa-
miento popular la creencia deque
cuanto más rápido es el "idioma"
con el que i raba jemos, más difícil
42 MSX
es ele aprender. Aunque esto es
cieno, no es uní exagerado como
muchos ( icen \ muí \tv aprendido
resulta igual de fácil de mancjái
que muchos olios, sobre iodo si se
dispone de los titiles adecuados.
Con esta serie que empic/a en
este número pretendemos dai los
conocimientos básicos mediante
los cuales aprender a manejai el
ordenador ;i Fondo \ se puedan
manejar sin miedo icrminos tales
como 'acum ulador'*, "pila",
"banderas'*, "memoria interme-
dia" (buffet'}. ele
Para terminal esta introducción
queremos scftalai que esta «•lie
sení reclínenle mil si es compren -
dida poi las |x*rsonas a que va
destinada, para lo cual no duden
en escribir si nos dejamos algo en
el tintero o hay temas que deben
explicarse más.
Los ordenadores tienen
dieciséis dedos
Esta sorprendente afirmación
itene una razón de ser, ¿Nunca se
lia fijado (pie en las manos
leñemos 10 dedos?, y ésta es la l>;isc
en la que suelen operar los
humanos (base 10 o liase decimal
significa que sólo hay diez valores
disiimos que se pueden expresa i
con un dígito: 0,1.23, 1,5,(5,7,8 \ 9:
el siguiente, el 10. necesita dos
dígitos). Pues bien, la mayoría de
los ordenadores no operan
internamente en base 1 10. sino en
base Mi. Esto significa que para
ellos existen 10 símbolos distintos
para expresai cantidades \. poi
lanío, las dieciséis pi ¡meras
cantidades (del 0 al IT) en base
decimal para (pie lo puedan
entender nuestros lectores huma-
nos modernos y de 0 a XV para
habitantes del Imperio Romano) se
pueden expresai con un solo
dígito. La siguiente cantidad (Ib
entre nosotros) necesita dos
dígitos.
Para aliviar un poco el dolor de
cabe/a que, indudablemente, dehe
lenei ya, intentaremos explicarlo
de olio modo. Cuando nosotros
escribimos sin el incito) reparo
" !.">*)" estamos presuponiendo
cosas (jne. como nuesims lectores
ven usianos (que o|ieran en base 13)
\ rigeliano (que operan en base 7)
saben, no son tan evidentes.
Suponemos que opciamos en liase
10. lo que siimilu t i que el valor de
esas < illas es: nueve mas el val oí de
la segunda (.o multiplicado poi la
base(en este (aso djty) \ la tercera
( I ) mulliplu ada poi la base i\]
cuadrado. De este modo queda
<)+r>0+IOO=lf><) ¿no se lo cs|>cmha?.
Pero hagamos el mismo proceso
suponiendo que la base es
dieciseis. Sei ia 0 más poi 10 (la
Cuando decimos
que un número
pertenece a una
base, entre sus
dígitos sólo pueden
estar los
comprendidos
entre 0 y la base
menos 1.
base) más I poi dice iséis al
cuadrado. El resultado es: D+80+-
1 02 I =1 I 13 sorprenden i etneu t e,
¿verdad?. Pasemos ;i un caso mas
sencillo: 10 en liase de< ¡mal es.
evidentemente. 10. Peio en liase
hexadecimal es 0+1 * 10 = 10. Eli lo-
dos los <asos hechos hasia ahora
hemos convertido números en una
base a base diez. En .algunos casos
hemos pasado de base diez a base
diez (cálculo bastante inútil como
se habrá observ ado) peí o en olios
hemos (lasado de liase hexadecimal
( 10) a base decimal. A parth de este
momento conviene que no se ima-
gine número sino montones de
(os<is. Si liene mala memoria ima-
ginativa (oja un montón de gar-
banzos \ agtiqxios para ha<ei los
cálculos. Peio tenga cuidado, si
quiere calcula! la i nen io i ¡a de su
ordenadoi . puede ( real una ( i isis
en la industria del garbanzo.
Según el proceso de conversión
que hemos explicado, las cantida-
des existentes entre ningún gar-
ban/o \ los que ha\ entre las llaves
siguientes (000000000) (poi favoi
tenga imaginación e imagínese
que los círculos son garlianzos) se
expresan igual en base de< ¡mal \
hexadci ¡mal: 0. 1 .li.:>. !.:>.(i.7.8 \ <).
En ( autbio, una < osa tan sene illa
como "10" ya varia. En kise dec i-
mal significa (oooooooooo) \ en
base hexadei ¡mal (Ooooooooooooo
000). Supongamos (pie ya ha
( ompiendido el misiei io (si no lo
ha luí ho. \ tielva a leei desde el
principio y si aún así no lo consi-
gue, haga un acto de fe y crea en
iodo lo que dci irnos a pai lii de
ahora), entonces surge otro pro-
blema, ¿como se expresa ( ooooooo-
ooo ) cu base hexadecimal? Eviden-
temente no nos vale ninguno de los
dígitos (pie leñemos "10" iampo< o
es \ (leí ii KMi no resulta prác tico.
Para }>odci expresarlo necesitare-
mos (> símbolos mas para expresai
esas ( antidades que están entre el 0
\ el 10 (en base hcxadci ¡mal). En
lugai de cieai una nueva caligra-
fía, vamos a iitilizai algunos ya
existentes en nuestra caligrafía: la
"A" significa (0000000000) (diez en
base decimal), la "B" (000000000-
00) a continuación, viene la "C",
D". "I-.* \. poi ulimio. la Y
signilica (0000000(K)000000) < I ") en
base decimal). Sabiendo esto \a
podemos opciai (ranc)uilamente
en hexadecimal. Poi ejemplo, si
(lucremos pasai \YX .i base 10.
basta aplicar iodos los < onocimicn-
ios aprendidos: S+B*I'6 (la base».
|X*tO B en decimal es II. y queda:
S+l 1*10=179. A partii de ahora y
para evitar confusiones de cuando
un número se expresa en una base
u olía haremos algunas conven -
( iones. Én primer lugar, si lo
escribimos tal Cual signilica que
esiá en base diez. En cambio, si
MSX 43
detrás de el (Minemos una *'h"
significa t\itv está MI base hexadc-
cimal. IV este modo sabremos su
significado en un ( aso u otro. Esto
en determinados libros se expresa
poniendo el número seguido de un
subíndice que indica la base. Así.
13 en dec imal se puede expresar
romo ISfoy l'Sh (o trece hexadeci-
niaí) es ISjfr Nosotros mili/aremos
la notación explicada anterior-
mente pprcj recuerde que ambas
indican lo mismo.
Antes de seguir se debe hacer una
aclaración. Cuando dec imos que
un número está en una base, entre
sus dígitos solo pueden estar los
comprendidos desde el 0 al de la
Ixtse menos uno. Esto quiere decir
que si damos un dato en base
decimal, solo serán válidos del 0 al
<). A. B. C. D, E y V no tendrán
sentido en esta base octal ( bast-
en ho) solo serán válidos del 0 al 7.
La razón es que si no 10 y A (al no
llevar ninguna letra detras se en-
tiende que es en base diez) signifi-
carían los dos: (()()()0()(H)(K)0) por lo
que baria una redundancia.
l T n sistema rápido para conver-
tir un número en una base cual;
quiera a decimal es el que se
muestra en la figura I. En ella
vemos una serie* de c ajones nume-
rados a partir del cero empezando
¡km la derecha. Si el dato a con-
venir lo esc ribimos en los cajones
a j lisiándolo a la derecha (el dígito
de me nor |>eso en el cajón del e ero.
el siguiente en el del uno. etc.)
basta hacer una sene illa operación
qite se detalla en la figura 2 para el
2ASh. Se coge cada número (o su
equivalente en base 10) y se multi-
plica jx>r la base elevada al número
situado encima del cajón, una vez
convertidos todos, se suman: el
resultado es la expresie'm en base 10
del dato. De este modo se puede
convenir cualquier número |x>r
grande que sea.
Pero también se puede pensar
que tienen dos dedos
;¡ Horror!!, estará usted pensan-
do. no be acabado de digerir lo de
Las conversiones
entre bases
numéricas es
inmediata cuando
se trabaja en
bases que son
potencias de dos.
la base hexadee imal y ya me vienen
con otra historia. No se alarme, no
es tan difícil, en realidad es muy
similar a los prexesos en base*
hexa decimal {xto con la única
diferencia de .que ope ramos en base
dos y, por tanto, solo existen en
esta base los dígitos 0 ) I y sie ndo
1 + 1=10, ya que no existe el dos \
tenemos que c ambial a un numero
ele dos dígitos. El sistema de nume-
ración quedaría 0.1. 10.11. 100.101...
Figura 1
que en decimal son. respectiva-
mente 0,1,2.-*, 1.5... Para la conver-
sión ¡xxleinos utilizar el sistema de
la caja usado anteriormente, pero
teniendo en cuenta qué en este c aso
la base es 2. Pata diferenciarlo de
los otros, consideraremos que un
número está expresado en este sis-
tema si después de él hay una 'b '.
Evidentemente, en él solo tienen
sentido las cifras y "Vy no
será válida ninguna otra.
Este sistema, denominado bina-
rio, es el que realmente usan los
ordenadores, pero cuando uno se
ene neutra con que un número tan
simple como el 1018. en binario se
expresa como lililí 1010. empieza
a busc ar un método más sene ¡lio de
trabajar. Este es el bexadec imal. ¿Y
porejué no el decimal? La razón es
muy sencilla, si el húmero anterior
lo dividimos en grupos de cuatro
números consecutivos empezando
por la derecha (001 1 -1 1 1 1 -1010) y
cada grupo le asignamos su equi-
valente bexadec imal, queda 3EAh.
que pasado a decimal queda:
l(H-15*16+S*(16 2 ) que es 1018, es
dec ir, el número de que partimos.
Esta equivalencia entre los núme-
ros binarios y los bexade c ¡males se
cumple siempre* debido a que el Ib*
es una potencia de 2 (la cuarta) y
esio nos permite realizar la agrtt-
pación. Pero si intentamos hacer la
misma conversión en dec imal (que
no es potencia de 2), veremos que
no se cumple aunque agrupemos
los dígitos binarios en canti-
dades distintas. En realidad la con-
versión es inmediata para aquellos
que sean potencias de dos: 4, 8, 16,
32... y la agrupación en binario se
hará con tantos dígitos como in-
dique la potencia respectiva, de
este modo, en base 8, que es 2
elevado a 3, tendremos que agru-
par de tres en lies, en base 32 sería
7 6 5 4 3 2 1 0
□□□□□□□C
44 MSX
de 5 en 5. Debido a normal ivas del
mercado se estableció la base 1(> o
hcxadecimal como estándar y esa es
la que seguiremos, además es la
más útil para trabajar con este
ordenador como luego veremos.
Bits, Bytes y otros monstruos
secretos
Hay que reconocer que la in-
formática es una de las ramas de la
ciendia que más barbarismos usa.
Palabras como "debugear" y "lin-
kar" son comunes entre los enten-
didos. Pero esto se debe a que
nuestro idioma no posee términos
equivalentes que nos permitan de-
cir lo mismo sin cometer atropellos
centra el lenguaje. Muchas veces ni
siquiera se españolizan los térmi-
nos, si no que se usan los ingleses
directamente. Bajo riesgo de ser
atacados por algún académico de
la lengua castellana, vamos ¿j ex-
plicar algunos de ellos que serán
usados en esta serie de artículos.
El primero es "bit", que en
ingles significa mordisco, pedazo y
que es una abreviatura del término
"Binary digiT", o dígito binario.
Esta palabra se usa para designar a
c ada una de las jx>sic iones que
ocupan los dígitos binarios. Por
tanto, en el número 101 1011) bay
seis bits, uno por cada pos i c ion. Se
usa este término también para re-
presentar las capac idades de de-
terminadas memorias. En este c aso
si definios, por ejemplo, que una
memoria tiene una capacidad de S
6//.V, estamos expresando c|iie como
mucho caben en ella 8 dígitos y. si
leemos que se almacena en dicha
memoria el número 101 101 b (de
seis cilras) deberemos rellenar a
ceros por la izquierda, de modo
que quede 00101 101 b que ya son
las ocho indicadas.
Otro término muy importante es
el de "b\tr ".Este se usa para indi-
car una agrupación de 8 bits como
en el ejemplo que ac abamos de ver.
De» modo que 1 1010010b es un byte,
pero 110b no, dado que solo tiene
tres bits y 101 101 1 101 1001 1 Ib tam-
poco, porque tiene 16. La palabra
byte nos permite trabajar con gru-
pos más definidos y muy usados en
los microordenadores. Por ejem-
plo, cada una de las memorias de
nuestro ordenador admite un byte.
así como muchos registros inter-
nos, la capacidad de memoria que
nos indica el manual, está medida
en byte.
Otro término interesante es el de
palabra (o "a>ord" en ingles) que
sirve para indicarnos una agrupa-
ción de bytes. El tamaño de esta
agrupación depende del ordenador,
del programa específico e, incluso,
de la persona que esté hablando.
Algunos consideran que una pala-
bra es un byte. otros que son dos
(Ib bits) c incluso otros que son
\bytes (82 fr/7.v), a lo largo de esta
serie, nosotros consideraremos que
son 2 bxtes.o loque es equivalente,
Ib bits.
El ordenador por dentro
Debido a que el lenguaje ensam-
blador está basado en la máquina
en que trabaja y se ajusta mucho a
ella, es necesario tener algunas
noc iones de como funciona esta
|X'Mr dentro. |>ero no se asuste, no
vamos a dar aquí un curso de
ingeniería rápida.
Nuestro ordenador está com-
puesto, como puede* verse en la
figura 3. de tres unidades esene ia-
les. El microprocesador, la memo-
ria y los dispositivos de entrada y
salida. Ciada uno de ellos tiene una
función muy definida que expli-
caremos con una analogía.
Para ello debe imaginarse que
existe una oficina muy moderna
que para atender a los clientes
tiene a un robot encerrado en
un cuarto con una ven tamil la y
una bandeja que comunican con
los clientes. De este modo se libera
a la |XTsona correspondiente de
esta pesada tarea. Pero el robot
tiene un problema, es sumamente
estúpido y solo salx* hacer las
operaciones básicas, coger un pa-
¡x'l sumar dos números, escribir en
un sitio o leer de otro. Pero el
dueño de la oficina, que es muy
inteligente (si están pensando que
esto parece un relato de niños, no
lo duden, lo es porque nosotros
somos muy infantiles), ha escrito
7 6 5
4 3 2 1 0
DEO
DO ESE
i i 1
1 1 i
512+ 160+3 =675
Figura 2
MSX 45
en un libro una serie tic instruc-
ciones ijiit' nuestra emprendedora
máquina puede ii leyendo \ eje-
aiiando. Estas son del tipo 'mira ;i
vet si ha* alguien 111 Id venta-
nilla", "si ba\ alguien pregunta
que (inieie . si no. esjXTa a que
venga alguien**, etc. De este modo
nuestro robot puede hacer una
[tuición mil sin ncccsilat un cere-
bro mucho más poicnle tomo es el
de una persona.
I I lobol de nuesiro ( nenio se
llama miciroprcK'esadoi', \ existen
muelios motlelos labriciulos poi
distintas cas;is que tlilieien en sus
características, unos son más rápi-
dos que oíros, algunos salxii mul-
tiplicar, otros tienen más fuerza \.
poi lanío, el libro que puctlcn
manejai es más grande, cu . l.l
nuestro (el que 1 lleva su ordcnadoi )
si II. una Z-80 \ compítanle unas
órdenes mu\ definidas que es lo
que consiiiuyc el lenguaje ensam-
blador. ¡¡¡Un momento!!!, ;pem
mi ordenador no funciona cu
BASIC?, estará diciendo. Eíectiva-
mente. |kto lo que hace su máqui-
na es tenci un libro especial estrilo
en el lenguaje ensamblador del Z-
80 que le tlice tomo traducir las
instrucciones de BASIC, a su len-
guaje para |xk1ci ejecutarlas. De-
bido a este proceso tic iratlu< < ¡ón,
el BASIC es más lento y no se
pueden hacer muchos juegos con
él.
Los libios \ los cuadernos que
maneja el X-80 son lo que deno-
minamos "memoria" \ sir\cn para
almacenar la información, ya que
él es un olvidadizo. Si son libios
( sí i ii < >s t i tinta V. cil consecuencia,
no se puede borrai lo que ba\
escrito en ellos, los llamaremos
"ROM" abreviatura del término
inglés "liead Only Memory" que
significa memoria de sólo lectura,
que es lo que atábamos tic decir.
Kn cambio, los cuadernos están en
blanco o tomo mucho escritos a
lápiz y nuestro -robot también dis-
pone tic lápiz y goma tic borrar,
por lo que puede hacer correcci-
ones en ellos. A esios los denomi-
Las tres unidades
esenciales de un
ordenador son: el
microprocesador,
la memoria y los
dispositivos de
Entrada/Salida.
nativos "RAM", que significa
"Rnndom Access Memory", es de-
cir, memoria tic acceso aleatorio,
que no explica muy bien su uso \ ¿i
qué una definición más propia es
memoria tic lectura n escritura que
es para lo que realmente sirve, pero
el término RAM se usa amplia-
mente \ a el nos referiremos.
mei paso vamos a ver tomo está
ludio el 7.-8Ú.
El corazón de nuestro ordena-
dor: el Z-80
Antes comentamos qué el robot
era un desmemoriado, y no nos
lahaba razón, la memoria que lic-
ué es muy pequeña y está dividida
en lo que denominamos registros,
(¿ida uno tic ésios permite alma-
cenai un número pequeño y, por si
lucia poto, la mayoría tienen unas
funciones muy definidas, Kn la
ligura I podemos vei todos los
registros que tiene. Kl primero tic
ellos y uno tic los más importantes
(o por lt) menos el más nombrado)
es el Acumulador, representado
por una "A". Aqui es dónde se
realizan tenias las operaciones qué
le ordenamos y donde se almace-
nan los resultados hasta que le
Por último nos queda la venta-
nilla y la bandeja. Estas dos le
sirven para comunicarse ton el
exterior \. por tanto, reciben el
nombre tic dispositivos tic entra-
da salida, más abreviadamente
E S o en inglés, I O.
Todos csios dispositivos los ire-
mos viendo poco a poto, apren-
diendo tomo funcionan y que ór-
denes leñemos que dar para que
atinen correctamente. (lomo pri-
mandamos escribirlos en otro lado.
Kn cierto modo, se le puede con-
siderar tomo una calculadora de
mesa que el Z-80 posee para rea-
lizan los cálculos que le ordenemos.
Kn ella cabe un byte u ocho bits,
que es lo mismo. Si esto lo pasa-
mos a decimal, veremos que puede
almacenar un numero entre 0 y
225. (o. tomo veremos posterior-
mente, entre -128 y 127) Para ope-
rar ton números más grandes de-
46 MSX
NO SIGAS BUSCANDO!!
Todo sobre MSX lo encontrarás
en 3D SISTEMAS, especialistas MSX
• SOFTWARE MSX
• HARDWARE MSX
• CLUB DE USUARIOS MSX
• BOLETIN DE INFORMACION MSX
• CENTRO DE ENSEÑANZA MSX
VENTA POR CORREO A TODA ESPAÑA
Solicita información sin compromiso
3D SISTEMAS. Balmes, 252 - Tienda
08006 BARCELONA. Tel.: 238 00 66
□ Deseo recibir el Boletín Informativo MSX
□ Deseo recibir información MSX-CLUB
□ Deseo recibir el catálogo MSX
NOMBRE:
DIRECCION:
POBLACION:
PROVINCIA:
Tel.
be remos usar varias operaciones
usando un acarreo que veremos
luego (;se acuerda ruando decía
"siete más cinco es dos y me llevo
una *?, pues el X-80 lo hace de una
•orina paree ida).
Otro registro importante es el
contador de programa. Para refe-
rimos a él usaremos las lenas
"PC" que son las iniciales de las
palabras "Program Counter", que
significan nada más ni nada menos
que "contador de programa". Para
comprender su significado de-
bemos volver a la analogía que
utilizábamos ames del robo! y la
oficina. Recordarán que dec íamos
que tenia todas las órdenes esc rilas
en un libro, pero ¿como se acuerda
de porqué página iba?, muy sen-
cillo -dirán- por donde ha dejado el
libio abierto. Pero el problema es
que al no existir el libro física-
mente, no puede dejarlo abierto y
necesita tener una marca de la
F
A
B
C
D
E
H
L
IX
IY
SP
PC
R IV
página que está ejecutando. Esta
marca es el contador de programa,
en el que se almac e na el número de
la página. Dependiendo de el ta-
maño de este contador, podrá ma-
neja] mas o menos memoria, ya
que sería totalmente inútil tencV
una memoria a la que no podía
referirse ni acordarse de ella. En
definitiva no podría usarla. En
nuestro caso, el contador de pro-
grama admite números de dieciseis
bits, o dos bvtes, o una pa labia, por
lo que podrá mancjai todas las
memorias (páginas) entre la cero
y la 65535, en hexadee imal entre Oh
y FFFFIi, o si lo prefiere en binai io
entre ()00(K)000()00(KH)00h \ lililí-
I I 1 I 1 I I I I I h. Algunos de los que
estén leyendo pensaián que nos
hemos equivocado, va que ha\
ordenadores que usan el Z-80 y
manejan más memoria, esto es
cierto pero para ello deben recurrir
a técnicas complicadas romo por
ejemplo el paginado que consiste
en sai ai un bloque de páginas del
libro y sustituirlo |w>r otra, de
modo, que el máximo nunca so-
biepase el (>553(). Debemos seña la I
que en c ada una de las posiciones
apuntadas (memoria de un byie)
solo cabe una instrucción y des-
pués de leerla el X-80. el contador
de programa se incrementa auto-
máticamente en uno de modo que
cuando tenga que ejecutar la si-
F'
i •
B'
C
D'
r
H -
guíente sé>lo necesite mostrar esa
dirca ion.
Además de los registros antes
mencionados, existen olios que
Utiliza como memorias temporales
paia almacenai resultados inter-
medios (pero que no admiten todas
las operac iones que se pueden rea-
lizar con el ac umulador). Estos son
los siguientes: B. C. D, E. H, 1
I odos ellos son de un b\ te de
longitud pero poseen la curiosa
propiedad de poder funcionar en
determinadas ocasiones como pa-
rejas, de modo que forman un solo
registro de l(> bits (2 byfcs). las
parejas las forman del modo si-
guiente: B y C. 1) y E, y II y L. Más
adelante veremos los usos que se
les pueden dar a todos ellos.
Existe* otro tipo de registros es-
}X'c ialcs que son los denominados
de índice. Existen dos de ellos,
denominados respectivamente IX e
IV \ ambos son de dieciseis bits.
Para comprender su utilidad basta
recordar algo que nos ha pasado
muc has veces para referirnos, poi
ejemplo, a un coche, a veces de-
( iinos "es ese", pero otras, sobre
lodo cuando está más lejos, es "el
tercero" \ en algunos casos la
expresión es "el tercero a partirdel
rojo". En este último caso utili-
zamos otro coche de referencia a
partir del cual indicamos la posi-
c i(')ii. En el 7.-80, la posic ié>n del
coche rojo puede e star almac e nada
en el registro del índice, lo que
simplifica muc hos cálculos como
veremos más adelante.
Para poder aprender el uso del
registro SP ["slack poinler" o pun-
tero de pila) que es otro registro de
Ib bits, debemos comprender pri-
mero lo que es una pila (y no nos
estamos refiriendo a esos c ilindros
que se le ponen a las radios y
linternas). Estas son muy comunes
en toda nuestra vida aunque no las
designemos por ese nombre. Un
(aso típico es cuando amontona-
mos papeles y luego los vamos
cogiendo en orden inverso al que
usamos al amontonarlos. El mi-
croprocesador nos permite realizar
esta operación con los números de
modo que si queremos guardar
momentáneamente un grupo ele-
Nado de nú meros, |x>clemos evitar-
nos la necesidad de buscar una
memoria libre metiéndolos en la
pila. Pero como comentamos an-
tes, el ordenador solo posee pági-
nas numeradas* de modo que lo
que hace es tener un puntero,
similar en algunos aspectos al con-
tador de programa, de modo que
Figura 4
48 MSX
( liando le chunos la orden de guai -
Uar un número en la pila, lo
guarda en la posición indicada poi
e sc puillcro.quc incrementa des-
pués para que el siguiente número
lo almacene en la memoria si-
ámenle. Al icciipriai el número el
proceso se hace a la inversa, ics-
lánclolc uno a esle puntero \ le-
e úpenmelo el contenido ele la me-
moria apuntada después.
I I registro que en el ¡niálie o I
apalee e al laclo del acumulado] es
el "I " ("Flags" o banderas) cjiie es
de oc ho hils. |k io a diferencia de
los demás no esta pensado para
almacenar números (aunque teóri-
camente pochía) \ c ada uno de sus
bits no indica un vale» sino una
cesado! paia sahei c liando ha he-
cho una suma o una icsia. Es usada
internamente \ no tiene ninguna
mi Melad a la hora de programa) . II
leu ei bit (el 2 según el sistema de
numeración cjue usamos» es el
"P V" \ tiene dos lunc iones dis-
linias. ( atando se están realizando
opc iae iones aritméticas con s¡oue>
i ne lie a si se* ha producido un "oro-
flow" <> l<> CJtie es lo mismo, un
lehosainienlo de la c apae idael del
ac umulaclor. Ell esle sentido es
algo similai a la hancleia de aca-
rreo peio aquella funciona con
númeios sin signo \ esta lo hace
con núme ros con signo (una elise i-
lac ióll más amplia solm esie>s elos
lipos ele opeiae iones se ha leí más
S Z 0 H 0 % N | C
v !
Figura 5
condición. En la figura vemos
que cada uno de ellos tiene asigna-
da una inicial que corresponde a
un nombre*, (atando el ordenador
mira este registro, no lo hace en
conjuntó si no que mira "si esic bu
está a uno" o "si el otro esiá a
c e lo", l 'na cíese lipe ióll lllin sue in-
la ele ellos (ya que más adelante les
dedicaremos más atenc ión) sería: el
bit O (el situado más a la derecha)
es el "'( 1" o ele ae .meo. Este es el
qiie guarda el uno de más c liando,
por ejemplo, hacemos una suma
(¿recuerda lo ele 7 mas T> e s 2 v me
llevo I?. pues el uno se almacena
aquí). El siguiente bit (el I ) es el
N". \ es usada poi el micropio-
adclaute. de momento sole> acuér-
dese de- cjue existen esias elos ban-
deras), si lo cjue se ha realizado es
una función lógica (cjue también
veremos más adelante) se nos mos-
irara aquí la paridad del resollado.
Si ha\ un número pal de unos
(0.2, U) \ 8). esia bandeia estará a
uno, de lo contrario estará a cero.
El bit 3 no se usa y siempre está
a cero El bit 1 es el "11" o de medio
acarreo e indica lo mismo que el
de acarreo pero cuando la suma
de los cuatro primeros bits (no los
ocho) da un quinto de exceso. El
bits 5 tampoco se usa y de un
modo similar al 3 siempre está a
cero. El bit 6 es el de cero ("//*)
y se pone a uno cuando de resultas
de una operación en el acumulador
no hay ningún uno, sino que todos
los bits están a cero. Por último,
el bit 7 es el de signo ("S") y se
usa solo con las operaciones arit-
méticas con signo. Su valor es
siempre igual al del bit más sig-
nificativo del acumulador (el 7 ya
que empezamos a numerar desde el
cero).
Existen otros dos registros con
lunc iones IUU> es|Heiales c pu de
motílenlo no son de interés poi lo
cjue Ion comentaremos muv poi
enc ima. El primero de ellos es el
denominado registro R. Esle solo
es utilizado |xh el /-80 para gene-
ral la señal ele iclieseo ele* las
memorias dinámicas (;le ha sona-
do a chino?, no se preocupe, no
necesita saber más que es eso a menos
que quiera ampliar su cultura ge-
neral). El otro registro es el IV. v es
usado durante las interrupciones
(detenninadas señales que lecheen
al 7.-80 cjue deje lo cjue eslá hae ¡eli-
do \ se* | Minga «i ejccutai oiro
programa) \ no le manejaremos
hasta dentro de- bastantes mpíiu-
los.
También habrá notado que
hay unos registros denominados
\ . v\ b\ c:\ ir, i ir \ i/.rw*
son similares a sus homónimos sin
comillas peio no se- pueden usai a
menos cjue demos una instrucción
especial, en e uno e aso se e amhiaián
unos |M)i olios. Se suelen usai e n
ocasiones cs|xrialcs en las cjue
queramos guardar el contenido de
aquellos registros iuun rapidamen-
ie para reali/ar algunas operacio-
nes.
En el próximo capítulo
l 'na vez ec ha una cíese ripc ióll
del modo ele funcionamiento del
ordenado! > de- la estructura inter-
na del mié loproe esadoi . en el pró-
ximo ai pítulo empezaremos a vei
las primeras instrucciones que
comprende y haremos algún pro-
grama cjue se pueda meter en la
máquina. □
MSX 49
Programa: Heavy
Boxing.
Tipo: Juego.
Distribuidor: EJM.&A.
Formato: Cartucho
ROM.
Tenemos ante nosotros, una cui-
dada videotización de lo que es un
combate de boxeo.
Es una de las mejores maneras de
hacer deporte en casa teniendo en
cuenta que nuestro adversario en el
juego cuenta con capacidad com-
bativa de un campeón de los pesos
pesados. El cuadrilátero tan cono-
cido para nosotros en los grandes
combates, podemos conseguir te-
ner una expectativa casera, enta-
blando una dura pugna, entre la
máquina y nuestras modesta capa-
cidad luchadora, referido a los dos
jugadores de la ardua trama com-
bativa.
La composición del juego, es
fácil desde nuestro joystick que nos
hace vivir intensamente, nuestros
movimientos, reflejos y rapidez
que conllevan tan importantemen-
te cualquier deporte y como no,
especialmente el boxeo, el cual
necesita la misma compenetra* ión
cuerpo- mente como en este caso
joystick-jugador.
La instrumentación del juego es
de una rápida comprensión, el
joystick nos permite mover al ju-
gador y llevar a cabo golpes que
nos permitan derrotar al contrario,
pulsaremos el botón de disparo,
lanzando así un golpe que puede
ser o no acertado dependiendo de
la posición del contrario.
La infraestructura del juego es
como la de cualquier combate de
boxeo, se divide en doce asaltos con
descenso entre ellos, a su vez un
tiempo de diez segundos que se le
da a cada jugador en caso de caer al
suelo y si ocurre como es de esperar
en iodos los combates de boxeo al
ansiado K. O.
Es un juego divertido chic no
entraña dificultad y que tiene co-
mo base el depone del boxeo.
l
Puntuación:
Presentación:
Claridad: 6.
Rapidez: 8.
7.
Programa: El Gerente
Tipo: Juego
Distribuidor: DIMensioNEW
Formato: Cassette
¿Quién no se ha sentido tentado
por el deseo de ser un gran director
de empresa?, ¿quién no ha deseado
saber en alguna ocasión lo que se
siente cuando uno toma la decisión
económica de un cierre patronal,
de pretender lanzar un producto
nuevo o de afrontar una huelga
general? Pues bien, con este juego
de simulación empresarial vas a
tener la posibilidad de medir tu
capacidad individual en la gestión
de tipo industrial. Pensado para
participar hasta seis jugadores,
nuestra tarea consiste en la direc-
ción de una empresa que posee una
fábrica vacía y 1000$ para invertir.
El objetivo es claro: máximo bene-
ficio al finalizar el ejercicio anual.
La duración del juego puede ser
fijada de antemano por los jugado-
res de dos formas diferentes, por
tiempo o por ejercicios anuales.
Cada jugador dispone de un turno
(que determina un mes) y en forma
aleatoria, le aparecerán tres posi-
bilidades: TOMA DE DECISIO-
NES, PROPUESTA DEL CON-
SEJO DE ADMINISTRACION o
VICISITUDES.
Entre las decisiones a tomar te-
nemos como más significativas,
comprar materia prima, fabricar
(se entiende que has de poseer
materia prima y maquinaría), ven-
der, comprar maquinaria, devolver
crédito, fin de juego 0 no tomar
ninguna decisión, todas ellas re-
percuten en el desairo! lo del ba-
lance de tu empresa. Como conse-
jo, es importante poseer un rema-
nente de dinero suficiente para
hacer frente a las posibles vicisitu-
des que imprevisiblemente pueden
aparecer en tu marcha como ejecu-
tivo y qué pueden afec tar el desa-
rrollo de tu empresa de tal manera,
que de no sei previsoi es posible
dar una quiebra.
La variedad de posibilidades, la
continua información que uno re-
cibe, indispensable en el buen des-
arrollo de la gestión junto a la
multitud de vicisitudes de que pue-
de ser objeto, hacen de este juego
un programa atractivo para los
amantes de la gestión industrial.
Si existe algún puntó criticable
50 MSX
este será la práctica inexistencia de \ J
gráficos, haciendo el juego algo v
monótono en su evolución.
l
Puntuación:
Presentación: 6
Claridad: 7
Rapidez: 7
Programa: Cannon fighter
Tipo: Juego.
Distribuidor: EJMS.A.
Formato: Cassette.
Nos encontramos frente a un
juego singular por su dinamismo
entretenimiento e incluso por
SU carácter innovador. Debe-
mos tener en cuenta que el
tema o base del juego es la
guerra pero la guerra no
vista en el sentido tan
amplio de la palabra,
sino en un aspecto más
í onciso y directo como
es la defensa de un
fuerte.
La defensa
de un territo-
rio el asenta-
miento de los
límites fronte-
rizos, visto desde un aspecto diver-
tido y entretenido.
El croquis de juego se establece
en tres frentes consecutivos, en el
espacio seco y árido del desierto el
cual podemos advertir por los co-
lores que nos muestra el programa.
Los tres frentes son defendidos
por el "cannon fighter" o cañón
solitario que tras las murallas esta-
blecidas a lo largo de la pantalla
defienden la llegada al fuerte con
la diligente disposición de que
seamos capaces de desarrollar en
tan ardua lucha.
La batalla se desarrolla frente a 5
tanques, que avanzan en forma-
ción y que sólo pueden ser destrui-
dos por nuestra pericia y habilidad
al lanzar las bombas sobre ellos,
para hacer más seguro el acierto
disponemos de una f lee hita en el
margen inferior de la pantalla que
nos se ñala donde deberíamos tirar
la bomba para que logremos una
baja en el enemigo pero a su vez
hay que tener en cuenta el movi-
miento uniforme acelerado de los
tanques y la capacidad armamen-
tística de estos contra nuestras ba-
rreras, e ¡n< luso si la mella en estas
es muy importante contra nosotros
mismos.
A su vez la destrucción de nues-
tra meta no se consagra al haber
aniquilado a los 5 tanques, pues
más atrasados aparecen nuevas
unidades que deben ser también
objetivo de nuestros tiros. El cons-
tante fuego al que nos vemos ex-
puestos nos hace movernos a una
velocidad importante a lo ancho de
la pantalla bordeando interior-
mente nuestra barrera. Una vez
agotadas las sucesivas barreras ya
que el fuego enemigo ha consegui-
do su parcial o total destrucción,
llegamos a lo, que es el objetivo de
nuestra defensa, el cual en caso de
derrota se verá coronado por la
bandera del enemigo.
Para cubrir nuestra meta, es de-
cir, impedir la toma del fuerte
debemos desarrollar un fuego in-
tenso el cual puede variar desde
cañonazos a larga distancia o una
senda ametralladora para cuando
los tanques enemigos se acerquen a
las barreras.
Es un juego que cuida el detalle
como podemos ver al estar refle-
jadas en el fondo de la pantalla las
Pirámides de Egipto y también el
vuelo que desarrollan en el margen
superior de la pantalla un ciclo
ininterrumpido de aviones. La mo-
vilidad de nuestro muñequito, bra-
zo derecho de nuestra defensa nos
hace grata la visualización del pro-
grama.
Es un juego detallado y con una
gran posibilidad de entretenimien-
to, si queremos pasar un rato
bélico sin consecuencias.
Programa: Mr. Ching
Tipo: Juego
Distribuidor: EJMS.A.
Formato: Cartucho
ROM
Dentro de la extensa gama de
software podemos encontrar para
MSX nos encontramos con un
entretenido juego que los video-
adictos les puede causar furor.
La capacidad dinámica reflejada
en la velocidad y audacia nuestra
nos hará pasar un rato entretenido
y ameno.
Las características del juego ver-
sa en la acción malavarísta del
chino Mr. Ching que en este caso
controlamos desde nuestro joys-
tick, y su tarea un tanto difícil de
colocar un número definido de
platos sobre palos haciéndolos gi-
rar sin que estos pierdan su ritmo.
No obstante la dificultad que
entraña el juego, se puede subsanar
con una pequeña diversificación
de tareas. La adquisición de platos
la hacemos a los laterales de la
pantalla, en la que existe una
pequeña tarima, donde debemos
subirnos para recogerlos. Rápida-
mente al darnos el plato debemos
de correr a dejarlo encima de uno
de los palos, hasta que comple-
temos los siete del primer piso, una
vez conseguido esto y sin dejar que
los platos puestos se paren, uno
de ellos, iniciará un ascenso al piso
superior para así conseguir com-
pletar todos los palos de los dife-
rentes pisos, pero jun momento!,
no pienses que este es el único
atractivo del juego, su genialidad,
se encuentra en las adversidades
que nos presenta y las cuales de-
bemos de ser capaces de resolver,
las adversidades antes menciona-
das se nos presentan, en este juego,
con la aparición de una figura
diabólica que nos tira toneles y
cuchillos, que habremos de evitar,
saltando, agachándonos o bien su-
biendo a uno de los palos mientras
que depositamos un plato que
además es la manera más eficiente
de no perder el tiempo y probar
nuestras habilidades.
Puntuación:
Presentación: 8.
Claridad: 8,
Rapidez: 8.
I
Puntuación:
Presentación:
Claridad: 7.
Rapidez: 8.
52 MSX
PARTICII
EN NUESTRO
CONCURSO
/
2EV
/A partir del próximo número/lvJS!
premiará mensualmente los programas/<j
hagan llegar los lectores.
Para participar en este concurso/
abierto, todo aficionado a los ordehac
con este estándar deberá hacer llegad
redacción de la revista el listado, /un*
cassette y un texto explicativo.
•Uj
(n
E-ntre todos los programas ende
recibamos cada mes, serán sele¿cioi
para su publicación aquellos qut
los siguientes criterios: /
— Originalidad de la aplicaá^n
— Simplicidad del método de
programación.
La única condición para participar
el concurso será que los programas no
hayan sido publicados previamente en
ninguna revista.
O/
en
#6
Recuerdo aquellos viejos tiempos, cuando yo
me iniciaba en el mundo del ordenador, en los
que el sonido era un sueño lejano, del que tan
sólo sabíamos que sería una realidad, pero que
era tan complejo que ni siquiera nos atrevíamos
a pensar en él.
En aquel entonces, los aparatos que usába-
mos sólo hacían algún PIIP o TING espúreo
acompañando a algún error grave o a la puesta
en marcha. Los que más nos arriesgábamos,
conseguíamos incluir algún TUIT en nuestros
programas, e incluso hubo locos que consiguie-
re) hacer sonidos que nos parecían (esforzando
la imagición) disparos de extraterrestres contra
nuestra nave.
Y entonces llegó el "chip" AY— 3— 8910.
De la ronquera a la polifonía
Este ( ii( uno integrado tiene la
particularidad de dispone] de tres
canales de sonido (musicalmente
hablando, tres voces) con ajustes ele
tono, volumen \ envolvente de
volumen independientes, además
de un ( anal de 1 md< > direccionable
a 0, 1, 2 o los tres < anales de sonido.
;Y qué quiere decii toda esta jerga
té< nica?
Cuando uno toma en sus manos
una flauta \ Ikkc una cs( a la puede
tocai una sola nota cada vez. Ha-
gamos esto con nuestro MSX:
PLAY "cdefgab" «RKH RN».
Si hemos ajustado bien el volu-
men de nuestro receptos de I V.
oiremos el clásico Do-Re-Mi-Fa-
Sol-La-Si. Esto lo hemos realizado
mediante el comando PLAY (que
quiere decil u tOCa", "suena") ad-
mite a con ti nación una serié de
noias \ ouos comandos que hacen
sonar al A Y— 3—8910. Las notas
que hemos escrito están en nota-
< ion amei i< ana, en la qüe:
A = LA B = SI C = DO
I) = RK E = MI F = FA
C, = SOL
Peio supongamos ahora que lo
que loe amos es un piano. Podemos
hacei sonai simultáneamente hasta
10 notas (o más. si hacemos un
poco el bruto). Pues bien, los MSX
son como un piano tocado con S
dedos. Cada uno de estOS dedos se
denomina técnicamente "VOZ* 1 o
"CANAL . I Ligamos una prueba:
PLAY "r8cdefgab", M r8bagfed<
•or>al)al)al)a" «RETURN»
Suena mucho más helio \ sin-
fónico, ¿verdad?. Las comas que
vemos entre los distintos grupos
sirven para de< irle al ordenad» >i
que el primer grupo lo va a tocai el
prime] canal (canal A), que el
siguienie grupo \a a sonai en el
canal B, \ que el último sonará en
MSX 55
el canal C (tercer canal). De este
modo conseguimos que los tres
grupos de notas suenen a la vez. En
este caso hemos utilizado, además
de las notas (a-g), unos comandos,
'V y "o". El comando "o" cambia
la octava en la que trabajamos.
Expliquemos esto. Supongamos
que no tenemos más notas que las
que van de Do a Sí. Son tan sólo 8
notas, y cubren muy pocos sonidos
(exactamente 8). Si quisiéramos
generar sonidos más agudos o más
graves, no podríamos. Para ello se
ha creado este comando, "o", que
cambia la octava de los sonidos
siguientes, donde una octava es el
intervalo sonoro que hay entre Do
y Sí. Normalmente, si no le deci-
mos nada al ordenador, trabajamos
en la octava 4. Lo que hemos
hecho al escribir "o5" es decirle
que toque en la octava 5 (más
aguda).
El otro comando empleado, el
comando Y, merece explicación
aparte. Supongamos que estamos
componiendo la Banda Sonora
Original de una película de sus-
pense, entonces se, nos ocurre que,
cuando el asesino está a punto de
matar a la chicha, sería interesante
que la música callase por un breve
período. Para ello existe este co-
mando, que deja al generador de
sonidos en suspenso durante un
breve período, marcado por el nú-
mero que le sigue. Volveremos
sobre ello cuando hablemos de las
longitudes de las notas. En cual-
quier caso, habéis de saber que el
pequeño silencio insertado al co-
mienzo de las secuencias de sonido
de los dos primeros canales sirve
para que suenen los tres canales a
la vez, ya que, si no, se descompen-
saría la armonía al perder el canal
C un cierto tiempo en interpretar
el comando ,4 o5" que tiene el
principio.
Cómo modificar las notas
El chip AY-3-8910
es el "grupo
musical" de los
ordenadores MSX.
do las posibilidades del comando
PLAY a través de los subcoman-
dos, tales como "o" y 'V\ de que
dispone para modificar el signifi-
cado puro y simple de las notas
que escribamos. Para ello vamos a
estudiar, no todos, sino los coman-
dos más importantes, que son:
V = Volumen
L = Longitud + = sostenido —
= bemol = puntillo (el mismo
significado que en música)
T = tiempo
NOTA
COMANDO'!"
NOMBRE
SILENCIO CORRESPONDENTE
O
L 1
REDONDA
d
L2
BLANCA
J
L4
NEGRA
i
I
L8
CORCHEA
y
L16
SEMICORCHEA
L32
FUSA
L 64
SEMIFUSA
C DE F G A B
DE F G A B C
Vamos a seguir ahora analizan-
56 MSX
Figura i: Equivalencia entre notan musicales v longitudes.
- i - rzhJ-J J- J 1
-j _
\—
i-
4
10 REM Nobody knows the trouble I ' ve seen — Espiritual Negro
20 PLAY "T200O3AL2CL4DL2F.L4GA"
30 PLAY "A" :PLAY "A" :PLAY "ALIA"
40 PLAY "L4AL2CL4DL2F" :PLAY "FL4DL2C .L1C"
50 PLAY "L4AL2CL4DL2F -L4GA"
60 PLAY "A" :PLAY "A".: PLAY " AL 1 AL2C . L4 AL2GAL 1 F "
70 PLAY "L2F."
80 REM Se ponen varios comandos PLAY seguidos que tocan la misma nota para
90 REM separar entre notas de igual sonido pero que no están ligadas
100 IF PLAY(0) THEN GOTO 100
110 REM Espera a que termine la canción anterior
120 FOR 1 = 1 TO 1000.-NEXT I
130 REM Espera un poco para separar entre canción y canción
ÜÍÉE
m
140 REM Oh, Susanna! — Stephen Collins Foster
150 PLAY "T210O4L8CDL4EG" :PLAY "GAGEC"
160 PLAY "L8CDL4E" :PLAY "EDCL2D .L8CDL4EG"
170 PLAY "GAGEC" :PLAY "L8CDL4E" :PLAY "ED" :PLAY "DL2C.R4"
180 PLAY "L2F" :PLAY "FL4A" :PLAY "L2A" :PLAY "L4AG" :PLAY "GEC"
190 PLAY "L2D.L8CDL4EG" :PLAY "GAGEC"
200 PLAY "L8CDL4E" :PLAY "ED" :PLAY "DL2C . "
Figura 2: Demostración m usual del tomando PLAY.
—
MSX 57
El significado de estos comandos
y su utilidad nacen de un intento
de los diseñadores del MSX de que
se pueda interpretar con nuestro
ordenador, y con gran sencillez,
cualquier partitura musical con
que nos encontremos.
El (ornando V (volumen) es
equivalente al mando de que dis-
ponemos en nuestra televisión o
amplificador con el que regulamos
la fuerza con que el sonido sale por
los altavoces, pero el hecho de
disponer de él nos permite v;n iai el
volumen de cada uno de los UTOZOS
de la melodía que interpretamos.
Poi ejemplo, nos puede nteresai
diferenciar dos partes darás en
nuestra Banda Sonora Original
(vei apartado anterior), una en la
que la chica abofetea al chico
(paite movida, en la que el sonido
tiene que oírse bien, en concordan-
Diversos comandos
hacen posible los
innumerables
sonidos que se
pueden generar en
este ordenador.
( ta con la fuerza del ca< hete), y otra
un poco después, en la que ambos
se besan y la música se hace suave.
(Nota: este argumento de película,
\ la música que lo acompaña, no
son invención mía, aparece en el 90
% de las películas estadounidenses
de los años 50),
Dentro de la lira de carai teres
que ponemos a continuación del
comando PLAN', pondremos una
V seguida poi un número entre 0 y
15, el cual indica un sonido casi
inaudible para el 0 ) atronado!
para el lá (claró que esto depende
también del volumen que hayamos
fijado en el receptor de TV). Vea-
mos poi ejemplo, la diferencia
entre el volumen habitual (cuando
no ponemos nada) que es equiva-
lente «i escribii "v8", y escribii
"virr:
PLAY (\15c «RKHRN»
;Se nota, verdad? Oímos un Do
seguido de otro Do mucho más
fuerte, incluso, si no hemos tenido
( uidado, los otros CH upantes de la
( asa se habrán alarmado pensando
que algo extraño ha ocurrido (o
pura y llanamente, nos han dicho
que dejemos en paz el ordenador,
REGISTROS DE CONTROL
CANAL A
R0
AJUSTE FINO DEL PERIODO
CANAL A
R 1
AJUSTE GRUESO DEL PERODO
CANAL B
R2
AJUSTE FINO OEL PERIODO
CANAL B
R3
AJUSTE GRUESO DEL PERIODO
CANAL C
R4
AJUSTE FINO DEL PEROOO
CANAL C
fíb
AJUSTE GRUESO DEL PERIODO
PERIODO DE RUIDO
R6
CONTROL DEL MEZCLADOR
R7
CANAL A
R8
CONTROL DE AMPLITUD
CANAL B
R9
CONTROL DE AMPLITUO
CANAL C
RO.
CONTROL DE AMPLITUD
Rll
PERIOOO DE LA ENVOLVENTE
(Fino)
PERIODO DE LA ENVOLVENTE
RI2
(Grueso)
FORMA Y CICLO DE ENVOLVENTE
RI3
J
GENERADOR
DE
RUIDO
GENERADOR
DE
TONO
( UNO POR CANAL )
CONTROL DE
AMPLITUO
5
GENERADOR
DE
ENVOLVENTE
MEZCLADORES
UNO POR CANAL)
A
:>
CONVERTIDORES
D/A
C (Uno por canal |
MEZCLADOR
DE
CANALES
AL
MODULADOR
Figura \\ ts(|u«in.i <!»■ I>I«kjucs del (.entrador de Sonidos.
58 MSX
NUMERO DE BIT
FUNCION
CANAL
RUIDO
RUIDO
RUIDO
TONO
TONO
TONO
l ium.i i: Estructura dVI Registro «I» Control del Mezclado! <R7).
\oi \ : Poner un "I" ni un l>ii siun¡li<.i inhabilita] la opción.
que vamos ;i rompei algo). Pues
bien, creo que con ésto queda más
que demostrado el uso de 1 ¿« *V\
Le ha llegado el turno al co-
mando "i". Como ya dijimos an-
tes* tiene algo de relai ion con el
( ornando "i ". en el sentido de que
Fuerza una longitud de sonido (el
comando "r" forzaba una longitud
de silencio). Ambos van seguidos
de un valoi que varía de 1 a 64,
que, cui iosamente, sign i I u an
exa< lamente lo contrario de lo que
parece: CUANTO MAYOR EL
M MI RO. MI. ÑOR LA DURA-
CION. De ludio, la regla seguida
es que la longitud de la nota que
sigue a "l«n»" es de I n, siendoel
valoi lomado poi defec lo (< uando
no se escribe ningún comando 1 1
"11", es decii . duración 1 L
La utilidad de esta orden, aun-
qvie a primera \ ísta no es evidente,
resulta clara cuando descubrimos
que, en las partituras, lia\ esc ritos
un monte')!) de símbolos consisten-
tes en c irc ulitos blancos o negros,
con o sin palito vei tu al \ ( on o sin
colgantes. Kstos símbolos signifi-
can dos cosas: por un lado nos
informan de la nota que queremos
oír. v poi otra de la duración de
ésta. La tabla de equivalencias de
símbolos escritos en una partitura
v sus sonidos \ dura< iones la po-
demos bailar en la Eigura 1.
Para acaba) con el comentai io
del comando de longitud nada más
indicar una cosa que no bemos
visto explícitamente esc rita en nin-
gún manual, pero que hemos des-
cubierto empíricamente, LA ES-
PECIFICACION DE UN CO-
MANDO L AFECTA NO SOLO A
LA SIGUIENTE NOTA, SINO A
TODAS LAS DEMAS, HASTA
Ol í APAREZCA UN NUEVO
COMANDO L.
I .os simbc >1 itos " + ". " — " y '.
tienen un significado específico
que se relaciona directamente con
otios símbolos que aparecen en las
partituras: "I>" \ ".'*. respecti-
vamente. El último es, de nuevo
una modificación de la loongitud
de la nota (que no puede conse-
guirse poi medio de la "I"). \ que
la hace sonai la mitad de su dura-
ción poi original MAS. Es decir,
supongamos que al escribir:
PLAV V
sonase la nota Sol durante medio
segundo. Entonces, al escribir
PLAV V
la nota sonaría durante I 2 -I- ( I 2)
2 = 8 1 segundos. Este símbolo es
muy útil para reproduc ir el efecto
que tiene un puntito puesto a la
cleiec ha de la nota en un penta-
grama.
Los símbolos "+" y " — " modi-
fican el sonido de la nota, hacién-
dola un pelo más aguda o un pelo
+snicpogal
OFERTA MICROGAL S.L.
A NIVEL NACIONAL
ANTES 75 000. AHORA
P.V.P. ^ J)@® PTAS.
ÜN1CQ_C0N MANUALES EN CASTELLANO
Y M PUNTOS DE ASISTENCIA TECNICA EN
TODA ESPAÑA
Pi y Morgoll, 36
Teléfono 425255
V I G O • 2
más grave, respectivmente, de lo
normal. Por ejemplo, si escribimos
"d — " o "c +" (que suenan igual)
queremos decirle al ordenador que
haga un sonido que esté a mitad de
camino entre "c" y "d". Este soni-
do se denomina en música "Re
bemol" o "Do sostenido". Hay, sin
embargo, dos notas que no es
necesario añadirles estos simboli-
tos. Estas notas son: "b" que, al
añadirle el " + " suena exactamen-
te igual que "c" y, como es lógico,
"c" que, al ponerle un " — " suena
como la "b". Esto no es una
peculiaridad propia del MSX, sino
de toda la música desde que, un
poco antes del Renacimiento, se
crearon las normas que, aún hoy
sigue la música.
Y ahora una pregunta para to-
dos aquellos que alguna vez hayan
intentado comprender el significa-
do de una partitura: ¿os habéis
fijado alguna vez en unas palabri-
tas que aparecen escritas al prin-
cipio de las partituras, justo enci-
ma del pentagrama? Estas palabras
suelen ser "Allegreto", "Andante",
" Modera to"... y no tienen nada
que ver con el estado de ánimo del
autor al componer la canción, ni
con el ejercicio físico que prefería.
Son unas indicaciones que se le
dan al intérprete sobre la velocidad
con que ha de ejecutar la pieza.
Estas indicaciones son suficiente-
mente flexibles como para que
cada cual toque la canción como
mejor le suene, pero, de todos
modos, resulta conveniente saber
que "Prestissimo" significa muy
rápido, "Moderato" muy lento, y
en medio quedan categorías como
"Presto", "Allegretto", "Allegro",
"Andante", "Andantino"... ade-
más de poder sufrir el efecto de
adjetivos como "ma non troppo"
("pero no demasiado"), etc.
Para interpretar esto desde el
punto de vista del MSX, dispone-
mos de otro comando, "t" que
corresponde a la palabra italiana
"tempo", que es el nombre que se
le da a esa indicación que hemos
mentado en el párrafo anterior.
60 MSX
VALOR DE RI3 FORMA
0,1,2,3,9
4,5,6,7,15
NNSK
NI
AAA/
/
14
Ptriodo de
envolvente
(R1U256»R12)
Figura "»: Formas <!< rnvolvenic.
Pero el comando del MSX no se
utiliza diciendo "tallegro", ya que
esto es muy subjetivo, y un orde-
nador no entiende de subjetivida-
des. La orden "t" va acompañada
de un número entre 32 y 255, donde
32 sería equivalente a "Moho Mo-
déralo" (Muy lento) y 255 a "Pres-
tissimo" (Rapidísimo). No dare-
mos aquí una norma general sobre
su uso, sino que recomendamos
encarecidamente que experimen-
téis con él al introducir vuestras
composiciones hasta que os guste
lo que se oiga.
Con esto acabamos de analizar lo
más importantes comandos de la
sentencia PLAY (ya hemos dicho
que no con todos). Como colofón,
recomendamos que escribas al pro-
grama que damos en la figura 2,
que interpreta un espiritual negro
seguido del famoso "Oh, Susana",
y que experimentéis con él, cam-
biando notas y comandos, hasta
que no se parezca en nada al
original.
Clasificado x: sólo para enten-
didos
Para terminal este artículo in-
troductorio, vamos a hacei un re-
paso de las otras posibilidades que
nos da la ronjiint ion del MSX i on
el ri trilito AY— 8910. a través
del comando SOUND.
Este "c hip" está estructurado co-
mo se puede ver en la figura 3. En
el podemos ver claramente I blo-
que: 3 (anales (A. B. \ C)de sonido
\ un (anal de mido, iodos los
( nales van a unirse en un mezcla-
dor que habilita o inhabilita cada
uno de los canales y lo mezcla con
nudo si asi se lo dijésemos. Existe
también unos generadores de "en-
volvente de amplitud*' \ otra serie
de bloques anejos de nulidades
varias. Vamos a explicar cada uno
de estas ( os.is.
Los CANALES DE SONIDO.
Están formados de una especie de
memoria (los registros), en los que
se guarda un número que tiene
íntima relación con el tono del
sonido, (¿ida canal tiene dos regis-
tros, uno de 8 biis (l's ó ()\) \ otro
de 1 bus. qué conjuntamente dan
el |XTÍodo (inverso de la frecuen-
cia) del sonido. Caíanlo mayores
sean estos números, más grave será
el sonido. De los 12 bits implica-
dos, los 4 que van "sueltos" son los
que más influyen.
ÉL CANAL DEL Rl /DO. Sólo
dispone de 5 hits en un registro, el
(>. que marran la fra uencia del
zumbido, al igual que los 12 bits de
los («males de sonido fijaban la
he( ueiK ia del lono.
EL MEZCLADOR (de hedió
son lies, uno para rada (anal de
sonido), pone en marcha o para el
sonido generado por cada (anal,
además de me/dar cada (anal ron
el ruido, si se le indicase así. El
conjunto formado por los tres mez-
cladores lo controla el registro 7.
que esiá estructurado romo apaic-
( c cu la figura l. I .a presen* ia de
un "1" inhabilita la opción que
represente, el "O" la habilita.
Los CONTROLES DE ¡M-
PLITl 1) fijan el volumen de cada
( anal. Los controlan los registros 8
a 10. de sólo f> bits, de los cuales el
de más peso habilita la posibilidad
de un volumen variable controlado
por el control de envolvente.
II. CONTROL /)/<; ENVOL-
VENTE dispone de Mes registro
para su manejo. Los registros II y
I ü controlan el ( icio de i elución
(Ir l.i envolvente de volumen,
mientras que el registro 1.1 sclc< -
( iona el upo de envolvente. Los
lipos (le envolvente pueden encon-
trarlos en la figura V
EL CÓNVERTIIX)R A Oes el
que verdaderamente genera el so-
nido que oímos, dando poi sepa-
rado cada uno de los tus amales,
que en los MSX se me/i tan entre sí
\ con la señal de TV para enviarlo
a nuestro receptor.
Los símbolos
utilizados en la
creación del sonido
son similares a los
escritos en una
partitura.
Para podci usai directamente
( ida una de las opciones que da el
generado] de sonido, disponemos
del (ornando del BASIC
"SOl'ND". l'sie (ornando loma
dos valores sc|>arados por una co-
ma de ( nales el pi inicio es el
número de registro que queremos
alterar, \ el secundo el valor que le
queremos dar. ( -orno ejemplo de su
manejo, escriba el programa de la
figura (>, y. |K)i supuesto, experi-
mente con él.
Esta explicación del tlenerador
Progmmable de Sonidos ha sido
mu\ es( neta. |XT<l es válida como
introducción lápida a su manejo.
Volvemos a recomcndai la e\|x -
riencia como madre de la ciencia,
pcio anunciamos ya un futuro
artí< ido sobre este circuito integra-
do en un próximo número, con
más dalos técnicos \ ejemplos so-
bre su manejo.
Conclusión
( .orno dcs|x*dida, diremos que el
sonido en el MSX tiene unas posi-
bilidades (asi infinitas \ (pie. poi
más que exploremos, nunca llega-
remos a agotar. 1*01 enésima vez.
k ( omendamos la cxpcrimcntac ion
como fuente principal de conoci-
mientos. □
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
R J
180
190
230
240
250
260
270
280
290
300
310
320
REM Un efecto curioso y sencillo usando el AY-3-8910
SOUND 0,129 :REM ajustamos el tono
SOUND 1,8 :REM del canal A
SOUND 6,25 :REM periodo de ruido
SOUND 8,31 :REM amplitud controlada por envolvente
SOUND 11,53 :REM ajuste del periodo
SOUND 12,25 :REM de la envolvente
SOUND 13,8 :REM envolvente en diente de sierra
SOUND 7,S<B1111U10
REM el canal a tiene un sonido sin ruido
FOR 1=1 TO 4000:NEXT I
REM esperamos un poco
SOUND 7,?<B11110110
REM ahora suena con ruido
FOR 1=1 TO 4000:NEXT I
SOUND 2,132:S0UND 3,0:SOUND 7 ,&B1 1 1 1 1 1Q0
FOR 1=1 TO 15: REM vamos aumentando poco a poco el volumen del canal B190 FO
=1 TO 150
SOUND 9,1
FOR J=l TO 150
NEXT J
NEXT I
FOR 1=1000 TO 1 STEP -1:NEXT I
FOR 1=15 TO 1 STEP -1 :REM y ahora lo bajamos poco a poco
SOUND 9,1
FOR J=l TO 150:NEXT J
NEXT I
FOR J=l TO 1000:NEXT J
SOUND 8,0: REM con esto apagamos
SOUND 9,0: REM todo el sonido
MSX 61
Bienvenidos a esta nueva sección, la cual estará abierta a todos
aquellos que deseen anunciarse, abriendo un camino por el que
podamos transmitir, tanto nuestras ideas, como nuestros deseos
de comprar, vender o intercambiar los diversos productos que
pueblan el mercado del MSX en estos momentos, que aunque no
sea diverso resulta muy interesante.
Los anuncios publicados en esta sección serán gratuitos y
perseguiremos aquellos que por su carácter sean dudosos o
tengan afán de lucro.
• YENDO Spectravi-
deo SV-328, superexpan-
dci 605B (2 X 320Kb). 80
columnas, monitor, en
garantía \ programas di-
versos por 300.000 pts.,
sin monitor por 270.000
pts.. \ sin los programas
por 200. 000 pts. Llamar
a [gna< io García a] Telf.
254 37 19 de Madrid.
• Deseo INTERCAM-
BIAR programas y expe-
riencias de SV-318 y SV-
328. Escribid a José Jor-
ge Vaz, Travesía de Vi-
go, 22, 3-B. Vigo 6. Pon-
tevedra.
• VENDO ordenador
Spe< travideo SV-728
MSX). Llamar a José
Joaquín por las maña-
nas al Tel. 705 88 31 de
Madrid.
• Dentista VENDE
Sj)c( travideo, unidad do-
ble de diskettes nuevos,
un lote de programas de
apli( a< ion ( VVoi dstai .
muí tipian, etc. ) y un lote
de lenguajes de progra-
ma ión (MBASIC. (O-
BOL, etc.). En garantía,
por 300.000 pts!, al con-
tado. I .lamat o escribí] a
Julio Montolio Salva-
dor, c Fernando el ( Ca-
tólico, 40, 1-C. 50009 Za-
ragoza. Telf. (976) 15 08
38.
• VENDO Spectravi-
deo SV-328 con superex-
pander, ampliación de
(vlK. controlador de dis-
cos, 2 unidades de dis-
cos, tarjeta de 80 colum-
nas, mterfai e j ( able de
impresora, monitor Dá-
tale* (de fósforo verde).
CP M, DBASE 2 y ma-
nuales, por 250.000 pts.
Llamar a José (llosas
Compte al tel. (93) 239
39 03 de Barcelona.
• VENDO Npectiavi-
deo SV-328. con super-
expander (1 disco), li-
bros y programas nue-
vos, discos de limpieza,
CP M y BASIC de disco,
Assembler. comprado en
julio- 84. Todo por
150.000 pts. Llamar al
tel. 338 03 94 de Bando
na, preguntar por Ma-
nuel.
• VENDO Sony HIT-
BIT HB-55 75P, 16K
ampliable a 68K con ca-
ssette \ garantía de 1
año. Iodo poi 45.000
pts. Llamai a Salvadoi
Puig Oliva al tel. 384 59
63 de Barcelona.
• ( II ub de usual ios de
\is\. Pata contacta] \
unirse a nosotros, dirí-
gete a Isabel I .i nares,
Los Chopos, 34. Las
Gabias (Granada i.
• Formal ión de un
( lub de usuarios en Ce-
rolla para intercambiar,
informa* ión. ( onta< tos.
etc. Interesados escribí) a
Josep Miquel. c Río
Ser, i. 3-B. 17003 Ge-
rona.
ÍCOMPRQ
VENDO. ,
CAMBIOS '
62 MSX
La versión española de Popular Computing
ORDENA DOR
POPULAR
LA REVISTA QUE INTERESA TANTO AL AFICIONADO COMO AL PROFESIONAL
Una publicación que
informa con amenidad
acerca de las novedades
en el campo de las
computadoras personales
ORDENADOR POPULAR,
la revista para el
aficionado a la
informática.
Ya está a la venta
Cómprela en su kiosco habitual o solicítela a:
ORDENADOR
POPULAR.
BmwMuríllo,377
W.733%62
28020- MADRID .
¿Quien no habrá intercambiado
( ionios alguna vez? Más tic muí se
lia visto en la situación de u na un
álbum ilc ( romos \ ver que los
( ¡uro que le Fallan pai < omplctar
la ansiada colección los tiene un
amigo. Había formas \ "formas"
de cambiarlos, una era el popula!
"Pares o Nones", donde (acia uno
elegía una u ciim o|K'iou \ en liase
a ella, el (|ue ganaba se llevaba un
(lomo, si |xiilia se encontraba en
la desagradable sil nación de tener
que dar alguno. Este juego, |>ara el
cuál presentamos ac] ni su pío
grama, es una variante del ante-
rior, pero algo más divertida. Se
juega de la misma manera que
" P*ues o Nones" pero en lugai de
contal los dedos cjtie («ida uno
sacalxi \ sumarlos, se comprueba si
ocurre uno de l< >s ( t is( >^ siguientes:
la lijeia corta el papel, la piedla
puede roni] KM la lijen \ el pajX'l
en\ uel\e la piedla. Kslos son los
posible s ( ,isos (pie se pueden obte-
ne. El jugador que saque ' piedla'*
(el puño cernido) líenle t il que
saque ''tijera" ulos dedos < n U n ma
de V) gana, el que saque "papel*' (la
mano abierta) frente al que saque
"tijera" |x*rdía. \ .isí con el resto de
las op( iones cjue no ven a des< ribil
ya que son elementales, además de
que le quitaríamos algo de interés.
Kl programa esi.i realizado en
BASIC donde resaltaremos la uti-
liza! ión de \.u ias instrii! ( iones
( orno son KEV OFF \ SCREEN.
1.a primera hace desaparece] la
última línea de la pantalla, donde
se definen los comandos de las
leí las de función \ el segundo
comando picpara las dimensiones
de la pantalla en lo que se ivfiere .1
los spiues. ya que como hemos
visto, existen cuatro lámanos posi-
bles que se definen con la senten< ia
SC REEN,
Ha> que dcstacai el tamaño de .
los spiiies. sieiulo esios de |(> \ |fi
pixels aumentados \ que la repre-
sentación gráfica de los tres ele-
mentos están muv bien consegui-
da.
Al ejecutar el programa, apare-
cerán dos figuras aleatorias que
habrá que paiai \ enfrentar. El
¡ugadoi A controlará su figura con
la barra espadadora \ el B ctm la
lecha RETURN. mientras que el
ordenador será el que decida quien
de los dos ha ganado.
10 REM Papel, piedra o tijera
20 CLS:SCREEN 1,3:C0L0R 11,1,1
30 KEY OFF :DIM J<2,2)
40 FGR 1=0 Tü 2:FÜR J=0 Tü 2
LOS JUEGOS ELECTRONICOS
64 MSX
50 READ J ( I ,J) :NEXT:NEXT
60 FOR J=0 TO 2:T*=""
70 FOR 1 = 1 TO 32.-READ D*
80 T$=T$+CHR* (VAL < "?<h"+D*> )
90 NEXT:SPRITE*(J)=T*
100 NEXT
110 ON STR1G GOSUB 240:STRI6<0) ON
120 LOCATE 3,3:PRINT "PAPEL , PIEDRA O TI JERA"
130 LOCATE 4,6:PRINT"JUGAD0R JUGADOR"
140 LOCATE 7,8:PRINT "a b"
1 50 A 1 *= " 1 64t 255n " +STR* ( A*5+50 )
1 60 A2$= " 1 64t 255n " +STR* < B*5+80 )
170 PLAY A1$,A2$
180 PUT SPRITE 0, (60,80) ,2, A
190 PUT SPRITE 1 , (160,80) ,2, B
200 A=A+1:IF A>2 THEN A=0
210 B=B+1:IF B>2 THEN B=0
220 FOR 1=0 TO 30:NEXT
230 GOTO 170
240 STRIG(0) OFF : A=INT (RND (-TIME) #3)
250 PUT SPRITE 0 , (60 ,80) ,2 , A
260 Al *= " 1 64 1 255n " +STRÍ ( B * 5+80 )
270 PLAY Al$
280 PUT SPRITE 1 , ( 160 ,80) ,2 ,B
290 B=B+1:IF B>2 THEN B=0
300 FOR 1=0 TO 30:NEXT
310 D*=INKEY*:IF D*OCHR*(13> THEN 260
320 B=INT (RND (-TIME) *3)
330 PUT SPRITE 1 , ( 160 ,80) ,2 ,B
340 CA=5:CB=CA
350 IF J(A,B)=0 THEN M*="Empate"
360 IF J(A,B)=1 THEN M*="Gana a" :CB=6
370 IF J(A,B)=2 THEN M*="Gana b":CA=6
380 PUT SPRITE 0 , (60 ,80) ,CA , A
390 PUT SPRITE 1 , ( 160 ,80) ,CB ,B
400 LOCATE 11, 18 SPRINT M*
410 D*=INKEY$:IF D$OCHR*(13) THEN 400
420 LOCATE 11,18:PRINT »
430 STRIG(0) ON :RETURN
440 DATA 0,1,2,2,0,1,1,2,0
450 DATA 0,0,1 ,3,f ,3f ,7-f ,7-f
460 DATA 7b ,77,7-f ,3-f ,1-f ,f ,3,0
470 DATA 0,78,f c ,f e,7f ,bb ,-fd ,-f-f
480 DATA -F+ ,f 7,f b ,-f-f ,f e,f c , + 0,0
490 DATA 0,0,0,0,0,0,0,0
500 DATA f-f ,3-f ,0,1 ,2,2,2,1
510 DATA 80,80,c0,c0,c0,c0,ce,dl
520 DATA f 1 ,-f e ,c0 ,c0 ,40 ,40 ,40 ,80
530 DATA 3f ,20,20,20,20,20,20,20
540 DATA 20, 20, 20, 20, 20, 20, 20, 3-f
550 DATA f 0,28, 24,22, 3e, 2, 2, 2
560 DATA 2 ,2 ,2 ,2 ,2 ,2 ,2 ,-f e
lector
DEFINICION DE SPRITES
Soy un feliz poseedor de un
GOLDSTAR FC-200, pero mis co-
nocimientos acerté del lenguaje
BASIC no son muy profundos. Por
esta razón quisiera que me explica-
ran, ¿qué es un spritet
Alberto Giménez
Burgos
Los sprites son caracteres defini-
dos por el usuario que se pueden
visualizar en la pantalla sin que
estos afecten el contorno. Esto es
debido a que los sprites se van
definiendo en los distintos planos
que forman una pantalla. Este
mismo concepto es el que hace que
un gráfico se pueda esconder detrás
de otro sin distorsionar las figuras.
Existen cuatro tamaños de spri-
tes, desde el de 8 X 8 pixels norma
les hasta el 16 X 16 pixels aumen-
tado, esto se define con la sentencia
SCREEN. al comienzo del pro-
grama.
POSIBILIDAD DE
INTERCONECTAR
MSX
Somos un grupo de amigos que
poseemos ordenadores MSX, con
la siguiente duda. ¿Es posible la
creación de una red local de trans-
misión de datos para ordenadores
MSX?
Alberto Sánchez
Madrid
Las innovaciones en el iMSX
están al orden del día. Es más, en
las páginas de noticias de este
número, hablamos de la presenta-
ción de una red local, diseñada por
Spectravideo con la posibilidad de
O QTrtN
Kni u 1 1
miro n
ni LK u
ULTIMAS NOVEDADES EN
MSX (incluido SANYO con lápiz óptico)
AMSTRAD
DRAGON
COMMO PORE, etc .
iiSANYO PC, y COMMODORE PC !!
REINA. 31 (JUNTO A GRAN VIA)
28004 MADRID. Tel. 232 70 88
poder conectar hasta 32 ordenado-
res MSX, con el único requisito de
que estos posean un mínimo de
32 K de memoria. De esta forma
podremos trabaja] conectados en-
tre sí o independientemente del
ordenador central.
DUDA METODICA
La pega la encuentro en el micro-
procesador Z80, y aunque sea de !
Habilidad más que probada, ¿no se '
está haciendo viejo? por que ac-
tualmente el mercado está saturado
de procesadores de 8 bits* Pienso
que el futuro de los ordenadores
personales están en máquinas pe-
queñas con procesadores de 16 bits.
José Luis López
Granada
Efectivamente, en el número an-
terior hicimos referencia al futuro
de los ordenadores MSX, y augu-
ramos un buen porvenir. Además
tienes razón en cuanto a los micro-
procesadores de 16 bits, ya que es la
solución ideal a la capacidad (velo-
cidad de proceso v memoria) de
estos ordenadores. De cualquier
manera tenemos noticias de que ya
se están fabricando la nueva ola de
ordenadores MSX de 16 bits, para
los cuales han introducido en lu-
gar del Z80. el Z800. de esta forma
la compatibilidad entre los nuevos
ordenadores y los que ya llevan
una temporada en el mercado per-
manecerá inalterable.
DIRECTOR:
Juan Arencibia
COORDINADOR EDITORIAL:
Emiliano Juárez
REDACCION:
Fernando García. Santiago Gala.
Ricardo García. Teresa Aranda.
Francisco Mancera.
DISEÑO:
Ricardo Segura y Benito Gil.
Editada por
PUBLINFORMATICA S.A.
PRESIDENTE:
Fernando Bolín.
DIRECTOR EDITORIAL:
Norberto Gallego
Administración
PUBLINFORMATICA
GERENTE DE CIRCULACION Y
VENTAS:
Luis Carrero.
PRODUCCION:
Miguel Onieva
DIRECTOR DE MARKETING:
Antonio González
SERVICIO AL CLIENTE:
Julia González.
Tel. 733 79 69
ADMINISTRACION:
Miguel Atance. Antonio Torres.
JEFE DE PUBLICIDAD:
María José Martín
DIRECCION Y REDACCION:
C/ Bravo Munllo. 377 5 o A
Tel. 733 74 13
28020 MADRID
PUBLICIDAD Y
ADMINISTR ACCION:
C/ Bravo Munllo 377 3 o E
Tel 733 96 62-96
Publicidad en Madrid.
. Fernando Hernando
Publicidad en Barcelona
Olga Martorell
C/ Pelayo. 12
Tel (93) 301 47 00 Ext 27-28.
08001 BARCELONA
Deposito Legal: M. 16 755-1985
Impreso en Héroes S.A.
C/ Torrelara. 8 28016-MADRID
Distribuye
S.GE.L Avda Valdelaparra s/n.
Alcobendas (Madrid).
M GoldStar MSX
MEMORIA RAM DE USUA-
RIO: Una potente memoria
de 64K le dará la fuerza
necesaria para ejecutar los
mejores programas del
mercado.
CONECTORES DE EX-
PANSION: Aseguran la co-
nexión a gran cantidad de
periféricos como impreso-
ras, diskettes y joysticks.
ROM y VIDEO ROM: Per-
miten al Ge Idstar ejecutar y
trabajar con potentes pro-
gramas de gráficos sin te-
ner que utilizar la memoria
RAM.
En el PORT DE CARTU-
CHOS podrá conectar to-
dos los programas MSX
existentes, simplemente in-
troduciendo el cartucho
— ¡olvídese de esas compli-
cadas cintas!
La FUENTE DE ALIMEN-
TACION está incorporada
al ordenador, de manera
que no tendrá que manejar
ni ocultar transformador
alguno.
EL TECLADO es del tipo
QWERTY, con la incorpo-
ración de teclas de función
y del control del cursor.
EL SONIDO es una de las
mejores características del
Goldstar —con 5 octavas y
un sin fin de tonos increí-
bles.